Computer vision can be used to automate supervision and generate action appropriate action trigger if the event is predicted from the image of interest. For example a car moving on the road can be easily identified by a camera as make of the car, type, colour, number plates etc.
The Cars dataset contains 16,185 images of 196 classes of cars. The data is split into 8,144 training images and 8,041 testing images, where each class has been split roughly in a 50-50 split. Classes are typically at the level of Make, Model, Year, e.g. 2012 Tesla Model S or 2012 BMW M3 coupe. Data description: ‣ Train Images: Consists of real images of cars as per the make and year of the car. ‣ Test Images: Consists of real images of cars as per the make and year of the car. ‣ Train Annotation: Consists of bounding box region for training images. ‣ Test Annotation: Consists of bounding box region for testing images.
Dataset: https://drive.google.com/drive/folders/1y6JWx2CpsOuka00uePe72jNgr7F9sK45?usp=sharing Original dataset link for your reference only: https://www.kaggle.com/jutrera/stanford-car-dataset-by-classes-folder Reference: 3D Object Representations for Fine-Grained Categorisation, Jonathan Krause, Michael Stark, Jia Deng, Li Fei-Fei 4th IEEE Workshop on 3D Representation and Recognition, at ICCV 2013 (3dRR-13). Sydney, Australia. Dec. 8, 2013.
from google.colab import drive
drive.mount("/content.gdrive")
Mounted at /content.gdrive
# Initialize the random number generator
import random
random.seed(0)
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import tensorflow as tf
import os
%matplotlib inline
import cv2
from tensorflow.keras.utils import to_categorical
from tensorflow.keras.models import Sequential
from tensorflow.keras import regularizers, optimizers
from tensorflow.keras.models import Model,load_model
from sklearn import preprocessing
from tensorflow.keras.layers import Input,InputLayer,Dense, Dropout, BatchNormalization,Flatten,Activation,Conv2D,MaxPool2D,GlobalMaxPool2D
from tensorflow.keras.callbacks import ModelCheckpoint,EarlyStopping
from tensorflow.keras.optimizers import Adam
from sklearn.metrics import accuracy_score, r2_score,classification_report,confusion_matrix, precision_score, recall_score, f1_score, precision_recall_curve, auc
# used to supress display of warnings
import warnings
warnings.filterwarnings("ignore")
from sklearn.metrics import precision_recall_curve,accuracy_score,f1_score,precision_score,recall_score
%tensorflow_version 2.x
tf.__version__
'2.6.0'
project_path='/content.gdrive/MyDrive'
path = os.getcwd()
print(path)
#Changing the directory
os.chdir(project_path)
print(os.getcwd())
/content /content.gdrive/MyDrive
pathToTrainData ='Dataset/Car Images/Train Images'
#Importing the training data set
cars_train_data = pd.DataFrame(columns=['imageName','imagePath','class','height','width'])
for dirname, _, filenames in os.walk(pathToTrainData):
for filename in filenames:
path = os.path.join(dirname, filename)
img_name = os.path.split(path)[1]
if img_name!='.DS_Store':
img = cv2.imread(path)
height, width, channel = img.shape
class_label = dirname.split('/')[-1]
cars_train_data = cars_train_data.append({'imageName':img_name,'imagePath':path , 'class':class_label,'height':height,'width':width}, ignore_index = True)
cars_train_data.to_csv(r'Dataset/cars_train_data.csv', index=False)
cars_train_data
| imageName | imagePath | class | height | width | |
|---|---|---|---|---|---|
| 0 | 06796.jpg | Dataset/Car Images/Train Images/Dodge Dakota C... | Dodge Dakota Crew Cab 2010 | 312 | 416 |
| 1 | 04157.jpg | Dataset/Car Images/Train Images/Dodge Dakota C... | Dodge Dakota Crew Cab 2010 | 194 | 259 |
| 2 | 00682.jpg | Dataset/Car Images/Train Images/Dodge Dakota C... | Dodge Dakota Crew Cab 2010 | 240 | 320 |
| 3 | 07660.jpg | Dataset/Car Images/Train Images/Dodge Dakota C... | Dodge Dakota Crew Cab 2010 | 768 | 1024 |
| 4 | 00483.jpg | Dataset/Car Images/Train Images/Dodge Dakota C... | Dodge Dakota Crew Cab 2010 | 360 | 640 |
| ... | ... | ... | ... | ... | ... |
| 8139 | 03541.jpg | Dataset/Car Images/Train Images/Chevrolet Corv... | Chevrolet Corvette ZR1 2012 | 334 | 500 |
| 8140 | 07479.jpg | Dataset/Car Images/Train Images/Chevrolet Corv... | Chevrolet Corvette ZR1 2012 | 480 | 640 |
| 8141 | 07876.jpg | Dataset/Car Images/Train Images/Chevrolet Corv... | Chevrolet Corvette ZR1 2012 | 183 | 300 |
| 8142 | 07484.jpg | Dataset/Car Images/Train Images/Chevrolet Corv... | Chevrolet Corvette ZR1 2012 | 183 | 276 |
| 8143 | 03185.jpg | Dataset/Car Images/Train Images/Chevrolet Corv... | Chevrolet Corvette ZR1 2012 | 3240 | 4320 |
8144 rows × 5 columns
cars_train_data = pd.read_csv('Dataset/cars_train_data.csv')
#Removing parent directory, if any
cars_train_data = cars_train_data[cars_train_data['class'] != 'Train Images']
cars_train_data
| imageName | imagePath | class | height | width | |
|---|---|---|---|---|---|
| 0 | 06796.jpg | Dataset/Car Images/Train Images/Dodge Dakota C... | Dodge Dakota Crew Cab 2010 | 312 | 416 |
| 1 | 04157.jpg | Dataset/Car Images/Train Images/Dodge Dakota C... | Dodge Dakota Crew Cab 2010 | 194 | 259 |
| 2 | 00682.jpg | Dataset/Car Images/Train Images/Dodge Dakota C... | Dodge Dakota Crew Cab 2010 | 240 | 320 |
| 3 | 07660.jpg | Dataset/Car Images/Train Images/Dodge Dakota C... | Dodge Dakota Crew Cab 2010 | 768 | 1024 |
| 4 | 00483.jpg | Dataset/Car Images/Train Images/Dodge Dakota C... | Dodge Dakota Crew Cab 2010 | 360 | 640 |
| ... | ... | ... | ... | ... | ... |
| 8139 | 03541.jpg | Dataset/Car Images/Train Images/Chevrolet Corv... | Chevrolet Corvette ZR1 2012 | 334 | 500 |
| 8140 | 07479.jpg | Dataset/Car Images/Train Images/Chevrolet Corv... | Chevrolet Corvette ZR1 2012 | 480 | 640 |
| 8141 | 07876.jpg | Dataset/Car Images/Train Images/Chevrolet Corv... | Chevrolet Corvette ZR1 2012 | 183 | 300 |
| 8142 | 07484.jpg | Dataset/Car Images/Train Images/Chevrolet Corv... | Chevrolet Corvette ZR1 2012 | 183 | 276 |
| 8143 | 03185.jpg | Dataset/Car Images/Train Images/Chevrolet Corv... | Chevrolet Corvette ZR1 2012 | 3240 | 4320 |
8144 rows × 5 columns
cars_train_data.info()
<class 'pandas.core.frame.DataFrame'> Int64Index: 8144 entries, 0 to 8143 Data columns (total 5 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 imageName 8144 non-null object 1 imagePath 8144 non-null object 2 class 8144 non-null object 3 height 8144 non-null int64 4 width 8144 non-null int64 dtypes: int64(2), object(3) memory usage: 381.8+ KB
Visualizing Training images
image_1 = cars_train_data.iloc[0,:].imagePath
image_1
'Dataset/Car Images/Train Images/Dodge Dakota Crew Cab 2010/06796.jpg'
#Function to Visualize the images
def load_car_image(path):
img = cv2.imread(path)
print(img.shape)
# OpenCV loads images with color channels in BGR order. So we need to reverse them
return img[...,::-1]
plt.imshow(load_car_image(image_1))
(312, 416, 3)
<matplotlib.image.AxesImage at 0x7fa630b34f40>
#Let us check its corresponding class
cars_train_data.iloc[0,:]['class']
'Dodge Dakota Crew Cab 2010'
plt.imshow(load_car_image(cars_train_data.iloc[1,:].imagePath))
(194, 259, 3)
<matplotlib.image.AxesImage at 0x7fa6991634f0>
#Let us check its corresponding class
cars_train_data.iloc[1,:]['class']
'Dodge Dakota Crew Cab 2010'
plt.imshow(load_car_image(cars_train_data.iloc[8000,:].imagePath))
cars_train_data.iloc[8000,:]['class']
(480, 640, 3)
'GMC Savana Van 2012'
Total classes in Training Data set
cars_train_data['class'].value_counts()
GMC Savana Van 2012 68
Chrysler 300 SRT-8 2010 49
Mercedes-Benz 300-Class Convertible 1993 48
Mitsubishi Lancer Sedan 2012 48
Chevrolet Corvette ZR1 2012 47
..
Rolls-Royce Phantom Drophead Coupe Convertible 2012 31
Chevrolet Express Cargo Van 2007 30
Maybach Landaulet Convertible 2012 29
FIAT 500 Abarth 2012 28
Hyundai Accent Sedan 2012 24
Name: class, Length: 196, dtype: int64
unique, counts = np.unique(cars_train_data['class'], return_counts=True)
unique, counts
(array(['AM General Hummer SUV 2000', 'Acura Integra Type R 2001',
'Acura RL Sedan 2012', 'Acura TL Sedan 2012',
'Acura TL Type-S 2008', 'Acura TSX Sedan 2012',
'Acura ZDX Hatchback 2012',
'Aston Martin V8 Vantage Convertible 2012',
'Aston Martin V8 Vantage Coupe 2012',
'Aston Martin Virage Convertible 2012',
'Aston Martin Virage Coupe 2012', 'Audi 100 Sedan 1994',
'Audi 100 Wagon 1994', 'Audi A5 Coupe 2012', 'Audi R8 Coupe 2012',
'Audi RS 4 Convertible 2008', 'Audi S4 Sedan 2007',
'Audi S4 Sedan 2012', 'Audi S5 Convertible 2012',
'Audi S5 Coupe 2012', 'Audi S6 Sedan 2011',
'Audi TT Hatchback 2011', 'Audi TT RS Coupe 2012',
'Audi TTS Coupe 2012', 'Audi V8 Sedan 1994',
'BMW 1 Series Convertible 2012', 'BMW 1 Series Coupe 2012',
'BMW 3 Series Sedan 2012', 'BMW 3 Series Wagon 2012',
'BMW 6 Series Convertible 2007', 'BMW ActiveHybrid 5 Sedan 2012',
'BMW M3 Coupe 2012', 'BMW M5 Sedan 2010',
'BMW M6 Convertible 2010', 'BMW X3 SUV 2012', 'BMW X5 SUV 2007',
'BMW X6 SUV 2012', 'BMW Z4 Convertible 2012',
'Bentley Arnage Sedan 2009',
'Bentley Continental Flying Spur Sedan 2007',
'Bentley Continental GT Coupe 2007',
'Bentley Continental GT Coupe 2012',
'Bentley Continental Supersports Conv. Convertible 2012',
'Bentley Mulsanne Sedan 2011',
'Bugatti Veyron 16.4 Convertible 2009',
'Bugatti Veyron 16.4 Coupe 2009', 'Buick Enclave SUV 2012',
'Buick Rainier SUV 2007', 'Buick Regal GS 2012',
'Buick Verano Sedan 2012', 'Cadillac CTS-V Sedan 2012',
'Cadillac Escalade EXT Crew Cab 2007', 'Cadillac SRX SUV 2012',
'Chevrolet Avalanche Crew Cab 2012',
'Chevrolet Camaro Convertible 2012', 'Chevrolet Cobalt SS 2010',
'Chevrolet Corvette Convertible 2012',
'Chevrolet Corvette Ron Fellows Edition Z06 2007',
'Chevrolet Corvette ZR1 2012', 'Chevrolet Express Cargo Van 2007',
'Chevrolet Express Van 2007', 'Chevrolet HHR SS 2010',
'Chevrolet Impala Sedan 2007',
'Chevrolet Malibu Hybrid Sedan 2010',
'Chevrolet Malibu Sedan 2007', 'Chevrolet Monte Carlo Coupe 2007',
'Chevrolet Silverado 1500 Classic Extended Cab 2007',
'Chevrolet Silverado 1500 Extended Cab 2012',
'Chevrolet Silverado 1500 Hybrid Crew Cab 2012',
'Chevrolet Silverado 1500 Regular Cab 2012',
'Chevrolet Silverado 2500HD Regular Cab 2012',
'Chevrolet Sonic Sedan 2012', 'Chevrolet Tahoe Hybrid SUV 2012',
'Chevrolet TrailBlazer SS 2009', 'Chevrolet Traverse SUV 2012',
'Chrysler 300 SRT-8 2010', 'Chrysler Aspen SUV 2009',
'Chrysler Crossfire Convertible 2008',
'Chrysler PT Cruiser Convertible 2008',
'Chrysler Sebring Convertible 2010',
'Chrysler Town and Country Minivan 2012',
'Daewoo Nubira Wagon 2002', 'Dodge Caliber Wagon 2007',
'Dodge Caliber Wagon 2012', 'Dodge Caravan Minivan 1997',
'Dodge Challenger SRT8 2011', 'Dodge Charger SRT-8 2009',
'Dodge Charger Sedan 2012', 'Dodge Dakota Club Cab 2007',
'Dodge Dakota Crew Cab 2010', 'Dodge Durango SUV 2007',
'Dodge Durango SUV 2012', 'Dodge Journey SUV 2012',
'Dodge Magnum Wagon 2008', 'Dodge Ram Pickup 3500 Crew Cab 2010',
'Dodge Ram Pickup 3500 Quad Cab 2009',
'Dodge Sprinter Cargo Van 2009', 'Eagle Talon Hatchback 1998',
'FIAT 500 Abarth 2012', 'FIAT 500 Convertible 2012',
'Ferrari 458 Italia Convertible 2012',
'Ferrari 458 Italia Coupe 2012',
'Ferrari California Convertible 2012', 'Ferrari FF Coupe 2012',
'Fisker Karma Sedan 2012', 'Ford E-Series Wagon Van 2012',
'Ford Edge SUV 2012', 'Ford Expedition EL SUV 2009',
'Ford F-150 Regular Cab 2007', 'Ford F-150 Regular Cab 2012',
'Ford F-450 Super Duty Crew Cab 2012', 'Ford Fiesta Sedan 2012',
'Ford Focus Sedan 2007', 'Ford Freestar Minivan 2007',
'Ford GT Coupe 2006', 'Ford Mustang Convertible 2007',
'Ford Ranger SuperCab 2011', 'GMC Acadia SUV 2012',
'GMC Canyon Extended Cab 2012', 'GMC Savana Van 2012',
'GMC Terrain SUV 2012', 'GMC Yukon Hybrid SUV 2012',
'Geo Metro Convertible 1993', 'HUMMER H2 SUT Crew Cab 2009',
'HUMMER H3T Crew Cab 2010', 'Honda Accord Coupe 2012',
'Honda Accord Sedan 2012', 'Honda Odyssey Minivan 2007',
'Honda Odyssey Minivan 2012', 'Hyundai Accent Sedan 2012',
'Hyundai Azera Sedan 2012', 'Hyundai Elantra Sedan 2007',
'Hyundai Elantra Touring Hatchback 2012',
'Hyundai Genesis Sedan 2012', 'Hyundai Santa Fe SUV 2012',
'Hyundai Sonata Hybrid Sedan 2012', 'Hyundai Sonata Sedan 2012',
'Hyundai Tucson SUV 2012', 'Hyundai Veloster Hatchback 2012',
'Hyundai Veracruz SUV 2012', 'Infiniti G Coupe IPL 2012',
'Infiniti QX56 SUV 2011', 'Isuzu Ascender SUV 2008',
'Jaguar XK XKR 2012', 'Jeep Compass SUV 2012',
'Jeep Grand Cherokee SUV 2012', 'Jeep Liberty SUV 2012',
'Jeep Patriot SUV 2012', 'Jeep Wrangler SUV 2012',
'Lamborghini Aventador Coupe 2012',
'Lamborghini Diablo Coupe 2001',
'Lamborghini Gallardo LP 570-4 Superleggera 2012',
'Lamborghini Reventon Coupe 2008', 'Land Rover LR2 SUV 2012',
'Land Rover Range Rover SUV 2012', 'Lincoln Town Car Sedan 2011',
'MINI Cooper Roadster Convertible 2012',
'Maybach Landaulet Convertible 2012', 'Mazda Tribute SUV 2011',
'McLaren MP4-12C Coupe 2012',
'Mercedes-Benz 300-Class Convertible 1993',
'Mercedes-Benz C-Class Sedan 2012',
'Mercedes-Benz E-Class Sedan 2012',
'Mercedes-Benz S-Class Sedan 2012',
'Mercedes-Benz SL-Class Coupe 2009',
'Mercedes-Benz Sprinter Van 2012', 'Mitsubishi Lancer Sedan 2012',
'Nissan 240SX Coupe 1998', 'Nissan Juke Hatchback 2012',
'Nissan Leaf Hatchback 2012', 'Nissan NV Passenger Van 2012',
'Plymouth Neon Coupe 1999', 'Porsche Panamera Sedan 2012',
'Ram C-V Cargo Van Minivan 2012', 'Rolls-Royce Ghost Sedan 2012',
'Rolls-Royce Phantom Drophead Coupe Convertible 2012',
'Rolls-Royce Phantom Sedan 2012', 'Scion xD Hatchback 2012',
'Spyker C8 Convertible 2009', 'Spyker C8 Coupe 2009',
'Suzuki Aerio Sedan 2007', 'Suzuki Kizashi Sedan 2012',
'Suzuki SX4 Hatchback 2012', 'Suzuki SX4 Sedan 2012',
'Tesla Model S Sedan 2012', 'Toyota 4Runner SUV 2012',
'Toyota Camry Sedan 2012', 'Toyota Corolla Sedan 2012',
'Toyota Sequoia SUV 2012', 'Volkswagen Beetle Hatchback 2012',
'Volkswagen Golf Hatchback 1991', 'Volkswagen Golf Hatchback 2012',
'Volvo 240 Sedan 1993', 'Volvo C30 Hatchback 2012',
'Volvo XC90 SUV 2007', 'smart fortwo Convertible 2012'],
dtype=object),
array([45, 45, 32, 43, 42, 41, 39, 45, 41, 33, 38, 41, 43, 41, 43, 37, 45,
40, 42, 43, 46, 41, 40, 43, 44, 36, 41, 43, 42, 44, 34, 45, 41, 41,
39, 42, 42, 41, 39, 45, 46, 35, 37, 36, 33, 44, 42, 43, 35, 38, 43,
45, 41, 45, 45, 42, 40, 38, 47, 30, 35, 37, 43, 39, 45, 45, 43, 44,
40, 44, 38, 44, 37, 40, 44, 49, 44, 43, 45, 41, 38, 45, 42, 41, 44,
39, 42, 41, 39, 41, 46, 44, 44, 40, 43, 44, 40, 46, 28, 34, 40, 43,
39, 42, 44, 38, 43, 45, 45, 43, 42, 43, 45, 44, 46, 45, 42, 45, 40,
68, 42, 43, 45, 44, 39, 39, 39, 41, 42, 24, 42, 42, 43, 44, 42, 34,
40, 44, 41, 42, 34, 33, 40, 47, 43, 45, 45, 44, 43, 44, 45, 36, 36,
43, 43, 39, 37, 29, 36, 44, 48, 46, 44, 45, 37, 41, 48, 46, 44, 42,
39, 44, 44, 41, 39, 31, 44, 42, 45, 43, 38, 46, 42, 41, 39, 41, 44,
44, 39, 43, 46, 43, 46, 42, 43, 40]))
We can see that training images has 8144 images. and has 196 classes. Let us create the testing data set now.
pathToTestData ='Dataset/Car Images/Test Images'
#Importing the testing data set
cars_test_data = pd.DataFrame(columns=['imageName','imagePath','class','height','width'])
for dirname, _, filenames in os.walk(pathToTestData):
for filename in filenames:
path = os.path.join(dirname, filename)
img_name = os.path.split(path)[1]
if img_name!='.DS_Store':
img = cv2.imread(path)
height, width, channel = img.shape
class_label = dirname.split('/')[-1]
cars_test_data = cars_test_data.append({'imageName':img_name,'imagePath':path , 'class':class_label,'height':height,'width':width}, ignore_index = True)
cars_test_data = cars_test_data[cars_test_data['class'] != 'Test Images']
cars_test_data.to_csv(r'Dataset/cars_test_data.csv', index=False)
cars_test_data
| imageName | imagePath | class | height | width | |
|---|---|---|---|---|---|
| 0 | 00318.jpg | Dataset/Car Images/Test Images/Dodge Dakota Cr... | Dodge Dakota Crew Cab 2010 | 360 | 480 |
| 1 | 03773.jpg | Dataset/Car Images/Test Images/Dodge Dakota Cr... | Dodge Dakota Crew Cab 2010 | 194 | 259 |
| 2 | 01206.jpg | Dataset/Car Images/Test Images/Dodge Dakota Cr... | Dodge Dakota Crew Cab 2010 | 225 | 300 |
| 3 | 08018.jpg | Dataset/Car Images/Test Images/Dodge Dakota Cr... | Dodge Dakota Crew Cab 2010 | 768 | 1024 |
| 4 | 05448.jpg | Dataset/Car Images/Test Images/Dodge Dakota Cr... | Dodge Dakota Crew Cab 2010 | 225 | 300 |
| ... | ... | ... | ... | ... | ... |
| 8036 | 07450.jpg | Dataset/Car Images/Test Images/Chevrolet Corve... | Chevrolet Corvette ZR1 2012 | 221 | 300 |
| 8037 | 07518.jpg | Dataset/Car Images/Test Images/Chevrolet Corve... | Chevrolet Corvette ZR1 2012 | 194 | 259 |
| 8038 | 02893.jpg | Dataset/Car Images/Test Images/Chevrolet Corve... | Chevrolet Corvette ZR1 2012 | 492 | 786 |
| 8039 | 06161.jpg | Dataset/Car Images/Test Images/Chevrolet Corve... | Chevrolet Corvette ZR1 2012 | 194 | 259 |
| 8040 | 07109.jpg | Dataset/Car Images/Test Images/Chevrolet Corve... | Chevrolet Corvette ZR1 2012 | 853 | 1280 |
8041 rows × 5 columns
cars_test_data = pd.read_csv('Dataset/cars_test_data.csv')
cars_test_data
| imageName | imagePath | class | height | width | |
|---|---|---|---|---|---|
| 0 | 00318.jpg | Dataset/Car Images/Test Images/Dodge Dakota Cr... | Dodge Dakota Crew Cab 2010 | 360 | 480 |
| 1 | 03773.jpg | Dataset/Car Images/Test Images/Dodge Dakota Cr... | Dodge Dakota Crew Cab 2010 | 194 | 259 |
| 2 | 01206.jpg | Dataset/Car Images/Test Images/Dodge Dakota Cr... | Dodge Dakota Crew Cab 2010 | 225 | 300 |
| 3 | 08018.jpg | Dataset/Car Images/Test Images/Dodge Dakota Cr... | Dodge Dakota Crew Cab 2010 | 768 | 1024 |
| 4 | 05448.jpg | Dataset/Car Images/Test Images/Dodge Dakota Cr... | Dodge Dakota Crew Cab 2010 | 225 | 300 |
| ... | ... | ... | ... | ... | ... |
| 8036 | 07450.jpg | Dataset/Car Images/Test Images/Chevrolet Corve... | Chevrolet Corvette ZR1 2012 | 221 | 300 |
| 8037 | 07518.jpg | Dataset/Car Images/Test Images/Chevrolet Corve... | Chevrolet Corvette ZR1 2012 | 194 | 259 |
| 8038 | 02893.jpg | Dataset/Car Images/Test Images/Chevrolet Corve... | Chevrolet Corvette ZR1 2012 | 492 | 786 |
| 8039 | 06161.jpg | Dataset/Car Images/Test Images/Chevrolet Corve... | Chevrolet Corvette ZR1 2012 | 194 | 259 |
| 8040 | 07109.jpg | Dataset/Car Images/Test Images/Chevrolet Corve... | Chevrolet Corvette ZR1 2012 | 853 | 1280 |
8041 rows × 5 columns
We can see that testing images has 8041 images.
We will sort, test and train images by image name.
cars_train_data.sort_values(['imageName'],axis=0,ascending=[True],inplace=True)
cars_test_data.sort_values(['imageName'],axis=0,ascending=[True],inplace=True)
#Renaming imageName to match to Annotations Data Set
cars_train_data.rename(columns = {'imageName': 'Image Name'},inplace = True)
cars_test_data.rename(columns = {'imageName': 'Image Name'},inplace = True)
cars_train_data
| Image Name | imagePath | class | height | width | |
|---|---|---|---|---|---|
| 4114 | 00001.jpg | Dataset/Car Images/Train Images/Audi TTS Coupe... | Audi TTS Coupe 2012 | 400 | 600 |
| 6607 | 00002.jpg | Dataset/Car Images/Train Images/Acura TL Sedan... | Acura TL Sedan 2012 | 675 | 900 |
| 1760 | 00003.jpg | Dataset/Car Images/Train Images/Dodge Dakota C... | Dodge Dakota Club Cab 2007 | 480 | 640 |
| 1596 | 00004.jpg | Dataset/Car Images/Train Images/Hyundai Sonata... | Hyundai Sonata Hybrid Sedan 2012 | 1386 | 2100 |
| 6564 | 00005.jpg | Dataset/Car Images/Train Images/Ford F-450 Sup... | Ford F-450 Super Duty Crew Cab 2012 | 108 | 144 |
| ... | ... | ... | ... | ... | ... |
| 2973 | 08140.jpg | Dataset/Car Images/Train Images/Chrysler Town ... | Chrysler Town and Country Minivan 2012 | 360 | 424 |
| 5781 | 08141.jpg | Dataset/Car Images/Train Images/smart fortwo C... | smart fortwo Convertible 2012 | 600 | 800 |
| 6804 | 08142.jpg | Dataset/Car Images/Train Images/Mercedes-Benz ... | Mercedes-Benz SL-Class Coupe 2009 | 469 | 750 |
| 6239 | 08143.jpg | Dataset/Car Images/Train Images/Ford GT Coupe ... | Ford GT Coupe 2006 | 1067 | 1600 |
| 2150 | 08144.jpg | Dataset/Car Images/Train Images/Audi 100 Sedan... | Audi 100 Sedan 1994 | 683 | 883 |
8144 rows × 5 columns
cars_test_data
| Image Name | imagePath | class | height | width | |
|---|---|---|---|---|---|
| 4541 | 00001.jpg | Dataset/Car Images/Test Images/Suzuki Aerio Se... | Suzuki Aerio Sedan 2007 | 182 | 276 |
| 3232 | 00002.jpg | Dataset/Car Images/Test Images/Ferrari 458 Ita... | Ferrari 458 Italia Convertible 2012 | 360 | 640 |
| 5276 | 00003.jpg | Dataset/Car Images/Test Images/Jeep Patriot SU... | Jeep Patriot SUV 2012 | 741 | 1024 |
| 2521 | 00004.jpg | Dataset/Car Images/Test Images/Toyota Camry Se... | Toyota Camry Sedan 2012 | 480 | 640 |
| 7832 | 00005.jpg | Dataset/Car Images/Test Images/Tesla Model S S... | Tesla Model S Sedan 2012 | 373 | 600 |
| ... | ... | ... | ... | ... | ... |
| 4350 | 08037.jpg | Dataset/Car Images/Test Images/Chevrolet Sonic... | Chevrolet Sonic Sedan 2012 | 800 | 1200 |
| 3123 | 08038.jpg | Dataset/Car Images/Test Images/Audi V8 Sedan 1... | Audi V8 Sedan 1994 | 480 | 640 |
| 2145 | 08039.jpg | Dataset/Car Images/Test Images/Audi 100 Sedan ... | Audi 100 Sedan 1994 | 303 | 635 |
| 3953 | 08040.jpg | Dataset/Car Images/Test Images/BMW Z4 Converti... | BMW Z4 Convertible 2012 | 427 | 640 |
| 1154 | 08041.jpg | Dataset/Car Images/Test Images/BMW X5 SUV 2007... | BMW X5 SUV 2007 | 426 | 640 |
8041 rows × 5 columns
Let us load the annotations now.
#Loading Training Annotations
pathToAnotations ='Dataset/Annotations'
cars_train_annotations = pd.read_csv(pathToAnotations+'/Train Annotations.csv')
cars_train_annotations
| Image Name | Bounding Box coordinates | Unnamed: 2 | Unnamed: 3 | Unnamed: 4 | Image class | |
|---|---|---|---|---|---|---|
| 0 | 00001.jpg | 39 | 116 | 569 | 375 | 14 |
| 1 | 00002.jpg | 36 | 116 | 868 | 587 | 3 |
| 2 | 00003.jpg | 85 | 109 | 601 | 381 | 91 |
| 3 | 00004.jpg | 621 | 393 | 1484 | 1096 | 134 |
| 4 | 00005.jpg | 14 | 36 | 133 | 99 | 106 |
| ... | ... | ... | ... | ... | ... | ... |
| 8139 | 08140.jpg | 3 | 44 | 423 | 336 | 78 |
| 8140 | 08141.jpg | 138 | 150 | 706 | 523 | 196 |
| 8141 | 08142.jpg | 26 | 246 | 660 | 449 | 163 |
| 8142 | 08143.jpg | 78 | 526 | 1489 | 908 | 112 |
| 8143 | 08144.jpg | 20 | 240 | 862 | 677 | 17 |
8144 rows × 6 columns
We can see that the training annotations have bounding box coordinates of all the 8144 images.
#Loading Testing Annotations
pathToAnotations ='Dataset/Annotations'
cars_test_annotations = pd.read_csv(pathToAnotations+'/Test Annotation.csv')
cars_test_annotations
| Image Name | Bounding Box coordinates | Unnamed: 2 | Unnamed: 3 | Unnamed: 4 | Image class | |
|---|---|---|---|---|---|---|
| 0 | 00001.jpg | 30 | 52 | 246 | 147 | 181 |
| 1 | 00002.jpg | 100 | 19 | 576 | 203 | 103 |
| 2 | 00003.jpg | 51 | 105 | 968 | 659 | 145 |
| 3 | 00004.jpg | 67 | 84 | 581 | 407 | 187 |
| 4 | 00005.jpg | 140 | 151 | 593 | 339 | 185 |
| ... | ... | ... | ... | ... | ... | ... |
| 8036 | 08037.jpg | 49 | 57 | 1169 | 669 | 63 |
| 8037 | 08038.jpg | 23 | 18 | 640 | 459 | 16 |
| 8038 | 08039.jpg | 33 | 27 | 602 | 252 | 17 |
| 8039 | 08040.jpg | 33 | 142 | 521 | 376 | 38 |
| 8040 | 08041.jpg | 77 | 73 | 506 | 380 | 32 |
8041 rows × 6 columns
We can see that the testing annotations have bounding box coordinates of all the 8041 images.
We can see that the annotations dataset has Unamed columns for bounding box coordinates, let us assume it is in the sequence of x1,x2,y1 and y2 and visualize one image to verify it.
Mapping Train and Test images to its annotations and classes now.
car_train_image_details = pd.merge(cars_train_data, cars_train_annotations,
on='Image Name',
how='outer')
car_train_image_details
| Image Name | imagePath | class | height | width | Bounding Box coordinates | Unnamed: 2 | Unnamed: 3 | Unnamed: 4 | Image class | |
|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 00001.jpg | Dataset/Car Images/Train Images/Audi TTS Coupe... | Audi TTS Coupe 2012 | 400 | 600 | 39 | 116 | 569 | 375 | 14 |
| 1 | 00002.jpg | Dataset/Car Images/Train Images/Acura TL Sedan... | Acura TL Sedan 2012 | 675 | 900 | 36 | 116 | 868 | 587 | 3 |
| 2 | 00003.jpg | Dataset/Car Images/Train Images/Dodge Dakota C... | Dodge Dakota Club Cab 2007 | 480 | 640 | 85 | 109 | 601 | 381 | 91 |
| 3 | 00004.jpg | Dataset/Car Images/Train Images/Hyundai Sonata... | Hyundai Sonata Hybrid Sedan 2012 | 1386 | 2100 | 621 | 393 | 1484 | 1096 | 134 |
| 4 | 00005.jpg | Dataset/Car Images/Train Images/Ford F-450 Sup... | Ford F-450 Super Duty Crew Cab 2012 | 108 | 144 | 14 | 36 | 133 | 99 | 106 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 8139 | 08140.jpg | Dataset/Car Images/Train Images/Chrysler Town ... | Chrysler Town and Country Minivan 2012 | 360 | 424 | 3 | 44 | 423 | 336 | 78 |
| 8140 | 08141.jpg | Dataset/Car Images/Train Images/smart fortwo C... | smart fortwo Convertible 2012 | 600 | 800 | 138 | 150 | 706 | 523 | 196 |
| 8141 | 08142.jpg | Dataset/Car Images/Train Images/Mercedes-Benz ... | Mercedes-Benz SL-Class Coupe 2009 | 469 | 750 | 26 | 246 | 660 | 449 | 163 |
| 8142 | 08143.jpg | Dataset/Car Images/Train Images/Ford GT Coupe ... | Ford GT Coupe 2006 | 1067 | 1600 | 78 | 526 | 1489 | 908 | 112 |
| 8143 | 08144.jpg | Dataset/Car Images/Train Images/Audi 100 Sedan... | Audi 100 Sedan 1994 | 683 | 883 | 20 | 240 | 862 | 677 | 17 |
8144 rows × 10 columns
We can see that train images are mapped to its classes and annotations.
We will rename Unnamed columns to X1,Y1, X2, Y2 accordingly.
car_train_image_details.rename(columns = {'Bounding Box coordinates': 'X1','Unnamed: 2':'Y1','Unnamed: 3':'X2','Unnamed: 4':'Y2'},inplace = True)
car_train_image_details
| Image Name | imagePath | class | height | width | X1 | Y1 | X2 | Y2 | Image class | |
|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 00001.jpg | Dataset/Car Images/Train Images/Audi TTS Coupe... | Audi TTS Coupe 2012 | 400 | 600 | 39 | 116 | 569 | 375 | 14 |
| 1 | 00002.jpg | Dataset/Car Images/Train Images/Acura TL Sedan... | Acura TL Sedan 2012 | 675 | 900 | 36 | 116 | 868 | 587 | 3 |
| 2 | 00003.jpg | Dataset/Car Images/Train Images/Dodge Dakota C... | Dodge Dakota Club Cab 2007 | 480 | 640 | 85 | 109 | 601 | 381 | 91 |
| 3 | 00004.jpg | Dataset/Car Images/Train Images/Hyundai Sonata... | Hyundai Sonata Hybrid Sedan 2012 | 1386 | 2100 | 621 | 393 | 1484 | 1096 | 134 |
| 4 | 00005.jpg | Dataset/Car Images/Train Images/Ford F-450 Sup... | Ford F-450 Super Duty Crew Cab 2012 | 108 | 144 | 14 | 36 | 133 | 99 | 106 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 8139 | 08140.jpg | Dataset/Car Images/Train Images/Chrysler Town ... | Chrysler Town and Country Minivan 2012 | 360 | 424 | 3 | 44 | 423 | 336 | 78 |
| 8140 | 08141.jpg | Dataset/Car Images/Train Images/smart fortwo C... | smart fortwo Convertible 2012 | 600 | 800 | 138 | 150 | 706 | 523 | 196 |
| 8141 | 08142.jpg | Dataset/Car Images/Train Images/Mercedes-Benz ... | Mercedes-Benz SL-Class Coupe 2009 | 469 | 750 | 26 | 246 | 660 | 449 | 163 |
| 8142 | 08143.jpg | Dataset/Car Images/Train Images/Ford GT Coupe ... | Ford GT Coupe 2006 | 1067 | 1600 | 78 | 526 | 1489 | 908 | 112 |
| 8143 | 08144.jpg | Dataset/Car Images/Train Images/Audi 100 Sedan... | Audi 100 Sedan 1994 | 683 | 883 | 20 | 240 | 862 | 677 | 17 |
8144 rows × 10 columns
car_train_image_details['Image class'].value_counts()
119 68
79 49
161 48
167 48
144 47
..
175 31
64 30
158 29
99 28
136 24
Name: Image class, Length: 196, dtype: int64
car_train_image_details['class'].value_counts()
GMC Savana Van 2012 68
Chrysler 300 SRT-8 2010 49
Mercedes-Benz 300-Class Convertible 1993 48
Mitsubishi Lancer Sedan 2012 48
Chevrolet Corvette ZR1 2012 47
..
Rolls-Royce Phantom Drophead Coupe Convertible 2012 31
Chevrolet Express Cargo Van 2007 30
Maybach Landaulet Convertible 2012 29
FIAT 500 Abarth 2012 28
Hyundai Accent Sedan 2012 24
Name: class, Length: 196, dtype: int64
# Visualizing train images
plt.figure(figsize=(20,10))
for i in range(20):
plt.subplot(4, 5, i + 1)
plt.imshow(plt.imread(car_train_image_details['imagePath'][i]))
Now Let us visualize train images with its bounding box.
def display_image_with_bounding_box(imageDetails):
imagePath=imageDetails.imagePath
img_arr = cv2.imread(imagePath)
cv2.rectangle(img_arr, (imageDetails.X1, imageDetails.Y1), (imageDetails.X2, imageDetails.Y2), (255, 0, 0), 3)
plt.imshow(img_arr)
print(imageDetails['class'])
display_image_with_bounding_box(car_train_image_details.iloc[10,:])
Buick Verano Sedan 2012
display_image_with_bounding_box(car_train_image_details.iloc[3333,:])
Plymouth Neon Coupe 1999
display_image_with_bounding_box(car_train_image_details.iloc[8143,:])
Audi 100 Sedan 1994
# Visualizing First 20 train images with bounding boxes
plt.figure(figsize=(20,10))
for i in range(20):
plt.subplot(4, 5, i + 1)
display_image_with_bounding_box(car_train_image_details.iloc[i,:])
Audi TTS Coupe 2012 Acura TL Sedan 2012 Dodge Dakota Club Cab 2007 Hyundai Sonata Hybrid Sedan 2012 Ford F-450 Super Duty Crew Cab 2012 Geo Metro Convertible 1993 Dodge Journey SUV 2012 Dodge Charger Sedan 2012 Mitsubishi Lancer Sedan 2012 Chevrolet Traverse SUV 2012 Buick Verano Sedan 2012 Toyota Sequoia SUV 2012 Hyundai Elantra Sedan 2007 Dodge Caravan Minivan 1997 Volvo C30 Hatchback 2012 Plymouth Neon Coupe 1999 Audi TTS Coupe 2012 Chevrolet Malibu Sedan 2007 Volkswagen Beetle Hatchback 2012 Chevrolet Corvette Ron Fellows Edition Z06 2007
car_test_image_details = pd.merge(cars_test_data, cars_test_annotations,
on='Image Name',
how='outer')
car_test_image_details
| Image Name | imagePath | class | height | width | Bounding Box coordinates | Unnamed: 2 | Unnamed: 3 | Unnamed: 4 | Image class | |
|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 00001.jpg | Dataset/Car Images/Test Images/Suzuki Aerio Se... | Suzuki Aerio Sedan 2007 | 182 | 276 | 30 | 52 | 246 | 147 | 181 |
| 1 | 00002.jpg | Dataset/Car Images/Test Images/Ferrari 458 Ita... | Ferrari 458 Italia Convertible 2012 | 360 | 640 | 100 | 19 | 576 | 203 | 103 |
| 2 | 00003.jpg | Dataset/Car Images/Test Images/Jeep Patriot SU... | Jeep Patriot SUV 2012 | 741 | 1024 | 51 | 105 | 968 | 659 | 145 |
| 3 | 00004.jpg | Dataset/Car Images/Test Images/Toyota Camry Se... | Toyota Camry Sedan 2012 | 480 | 640 | 67 | 84 | 581 | 407 | 187 |
| 4 | 00005.jpg | Dataset/Car Images/Test Images/Tesla Model S S... | Tesla Model S Sedan 2012 | 373 | 600 | 140 | 151 | 593 | 339 | 185 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 8036 | 08037.jpg | Dataset/Car Images/Test Images/Chevrolet Sonic... | Chevrolet Sonic Sedan 2012 | 800 | 1200 | 49 | 57 | 1169 | 669 | 63 |
| 8037 | 08038.jpg | Dataset/Car Images/Test Images/Audi V8 Sedan 1... | Audi V8 Sedan 1994 | 480 | 640 | 23 | 18 | 640 | 459 | 16 |
| 8038 | 08039.jpg | Dataset/Car Images/Test Images/Audi 100 Sedan ... | Audi 100 Sedan 1994 | 303 | 635 | 33 | 27 | 602 | 252 | 17 |
| 8039 | 08040.jpg | Dataset/Car Images/Test Images/BMW Z4 Converti... | BMW Z4 Convertible 2012 | 427 | 640 | 33 | 142 | 521 | 376 | 38 |
| 8040 | 08041.jpg | Dataset/Car Images/Test Images/BMW X5 SUV 2007... | BMW X5 SUV 2007 | 426 | 640 | 77 | 73 | 506 | 380 | 32 |
8041 rows × 10 columns
#Renaming unnamed columns
car_test_image_details.rename(columns = {'Bounding Box coordinates': 'X1','Unnamed: 2':'Y1','Unnamed: 3':'X2','Unnamed: 4':'Y2'},inplace = True)
car_test_image_details['Image class'].value_counts()
119 68
161 48
79 48
167 47
20 46
..
175 30
64 29
158 29
99 27
136 24
Name: Image class, Length: 196, dtype: int64
car_test_image_details['class'].value_counts()
GMC Savana Van 2012 68
Mercedes-Benz 300-Class Convertible 1993 48
Chrysler 300 SRT-8 2010 48
Mitsubishi Lancer Sedan 2012 47
Audi S6 Sedan 2011 46
..
Rolls-Royce Phantom Drophead Coupe Convertible 2012 30
Maybach Landaulet Convertible 2012 29
Chevrolet Express Cargo Van 2007 29
FIAT 500 Abarth 2012 27
Hyundai Accent Sedan 2012 24
Name: class, Length: 196, dtype: int64
# Visualizing test images
plt.figure(figsize=(20,10))
for i in range(20):
plt.subplot(4, 5, i + 1)
plt.imshow(plt.imread(car_test_image_details['imagePath'][i]))
We can see that train images are mapped to its classes and annotations. Let us visualize 5 test images with its bounding box.
display_image_with_bounding_box(car_test_image_details.iloc[0,:])
Suzuki Aerio Sedan 2007
display_image_with_bounding_box(car_test_image_details.iloc[10,:]),
Buick Verano Sedan 2012
(None,)
display_image_with_bounding_box(car_test_image_details.iloc[3000,:])
Mercedes-Benz S-Class Sedan 2012
display_image_with_bounding_box(car_test_image_details.iloc[8000,:])
Hyundai Veloster Hatchback 2012
display_image_with_bounding_box(car_test_image_details.iloc[8040,:])
BMW X5 SUV 2007
# Visualizing First 20 test images with bounding boxes
plt.figure(figsize=(20,10))
for i in range(20):
plt.subplot(4, 5, i + 1)
display_image_with_bounding_box(car_test_image_details.iloc[i,:])
Suzuki Aerio Sedan 2007 Ferrari 458 Italia Convertible 2012 Jeep Patriot SUV 2012 Toyota Camry Sedan 2012 Tesla Model S Sedan 2012 Chrysler Town and Country Minivan 2012 GMC Terrain SUV 2012 Mercedes-Benz S-Class Sedan 2012 BMW X5 SUV 2007 Chevrolet HHR SS 2010 Buick Verano Sedan 2012 Ford Freestar Minivan 2007 Ford E-Series Wagon Van 2012 Hyundai Elantra Sedan 2007 Dodge Caliber Wagon 2012 Cadillac CTS-V Sedan 2012 Land Rover Range Rover SUV 2012 BMW X6 SUV 2012 Audi S5 Coupe 2012 BMW X5 SUV 2007
Importing Car names.
car_labels_data = pd.read_csv('Dataset/Car names and make.csv',header=None,names =['labels'])
car_labels_data
| labels | |
|---|---|
| 0 | AM General Hummer SUV 2000 |
| 1 | Acura RL Sedan 2012 |
| 2 | Acura TL Sedan 2012 |
| 3 | Acura TL Type-S 2008 |
| 4 | Acura TSX Sedan 2012 |
| ... | ... |
| 191 | Volkswagen Beetle Hatchback 2012 |
| 192 | Volvo C30 Hatchback 2012 |
| 193 | Volvo 240 Sedan 1993 |
| 194 | Volvo XC90 SUV 2007 |
| 195 | smart fortwo Convertible 2012 |
196 rows × 1 columns
print('Found one Class name: Ram C/V Cargo Van Minivan 2012, not in sync with directory path, renaming it')
car_labels_data['labels'].replace({"Ram C/V Cargo Van Minivan 2012": "Ram C-V Cargo Van Minivan 2012"}, inplace=True)
Found one Class name: Ram C/V Cargo Van Minivan 2012, not in sync with directory path, renaming it
car_labels_data.sort_values(['labels'],
axis=0,
ascending=[True],
inplace=True)
car_labels_data = car_labels_data.reset_index()
car_labels_data['year'] = car_labels_data['labels'].str[-4:]
car_labels_data['labels'] = car_labels_data['labels'].apply(lambda x:x[:-4])
car_labels_data
| index | labels | year | |
|---|---|---|---|
| 0 | 0 | AM General Hummer SUV | 2000 |
| 1 | 5 | Acura Integra Type R | 2001 |
| 2 | 1 | Acura RL Sedan | 2012 |
| 3 | 2 | Acura TL Sedan | 2012 |
| 4 | 3 | Acura TL Type-S | 2008 |
| ... | ... | ... | ... |
| 191 | 189 | Volkswagen Golf Hatchback | 2012 |
| 192 | 193 | Volvo 240 Sedan | 1993 |
| 193 | 192 | Volvo C30 Hatchback | 2012 |
| 194 | 194 | Volvo XC90 SUV | 2007 |
| 195 | 195 | smart fortwo Convertible | 2012 |
196 rows × 3 columns
# Function which returns last word
def lastWord(string):
# split by space and converting
# string to list and
lis = list(string.split(" "))
# length of list
length = len(lis)
# returning last element in list
last_word= lis[length-2]
if(last_word == 'R'):
last_word='Type R'
return last_word
lastWord(car_labels_data.iloc[0,:].labels)
'SUV'
lastWord(car_labels_data.iloc[1,:].labels)
'Type R'
car_labels_data['type'] = car_labels_data['labels'].apply(lambda x:lastWord(x))
car_labels_data
| index | labels | year | type | |
|---|---|---|---|---|
| 0 | 0 | AM General Hummer SUV | 2000 | SUV |
| 1 | 5 | Acura Integra Type R | 2001 | Type R |
| 2 | 1 | Acura RL Sedan | 2012 | Sedan |
| 3 | 2 | Acura TL Sedan | 2012 | Sedan |
| 4 | 3 | Acura TL Type-S | 2008 | Type-S |
| ... | ... | ... | ... | ... |
| 191 | 189 | Volkswagen Golf Hatchback | 2012 | Hatchback |
| 192 | 193 | Volvo 240 Sedan | 1993 | Sedan |
| 193 | 192 | Volvo C30 Hatchback | 2012 | Hatchback |
| 194 | 194 | Volvo XC90 SUV | 2007 | SUV |
| 195 | 195 | smart fortwo Convertible | 2012 | Convertible |
196 rows × 4 columns
car_labels_data.info()
<class 'pandas.core.frame.DataFrame'> RangeIndex: 196 entries, 0 to 195 Data columns (total 4 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 index 196 non-null int64 1 labels 196 non-null object 2 year 196 non-null object 3 type 196 non-null object dtypes: int64(1), object(3) memory usage: 6.2+ KB
car_labels_data.type.value_counts()
Sedan 46 SUV 34 Convertible 26 Coupe 25 Cab 17 Hatchback 13 Van 7 Minivan 6 Wagon 6 SS 3 SRT-8 2 Z06 1 SuperCab 1 GS 1 Type-S 1 Superleggera 1 SRT8 1 Abarth 1 Type R 1 ZR1 1 IPL 1 XKR 1 Name: type, dtype: int64
car_labels_data.labels.value_counts()
Bentley Continental GT Coupe 2
Volkswagen Golf Hatchback 2
Ford F-150 Regular Cab 2
Dodge Durango SUV 2
Honda Odyssey Minivan 2
..
BMW 1 Series Convertible 1
Dodge Challenger SRT8 1
GMC Acadia SUV 1
Lamborghini Gallardo LP 570-4 Superleggera 1
Infiniti G Coupe IPL 1
Name: labels, Length: 189, dtype: int64
plt.figure(figsize=(10,10))
sns.countplot(x='year',data=car_labels_data)
plt.yticks(rotation = 0)
plt.xticks(rotation = 90)
plt.show()
plt.figure(figsize=(10,10))
plt.xticks(rotation='vertical')
sns.countplot(data=car_labels_data, x='type', palette='plasma')
<AxesSubplot:xlabel='type', ylabel='count'>
fig, (ax1) = plt.subplots(ncols=1, figsize=(20, 20))
df_car_model_type = pd.DataFrame(car_labels_data['type'].value_counts()).reset_index()
df_car_model_type.columns = ['Car Model Type', 'count']
colors = ['purple', 'red', 'blue', 'yellow', 'green']
labels = car_labels_data['type'].unique()
type_count = car_labels_data['type'].nunique()
ax1.pie(df_car_model_type['count'], labels = labels, colors=colors, explode=[0.05]*type_count, autopct='%.0f%%')
ax1.set_title('Cars Model Type')
ax1.legend(labels, loc = 'upper right')
<matplotlib.legend.Legend at 0x7fa659938b20>
fig, (ax1) = plt.subplots(ncols=1, figsize=(20, 20))
df_car_model_year = pd.DataFrame(car_labels_data['year'].value_counts()).reset_index()
df_car_model_year.columns = ['Car Model Year', 'count']
colors = ['gold', 'red', '#FBCFCD', '#F5F5DC', 'green']
labels = car_labels_data['year'].unique()
year_count = car_labels_data['year'].nunique()
ax1.pie(df_car_model_year['count'], labels = labels, colors=colors, explode=[0.05]*year_count, autopct='%.0f%%')
ax1.set_title('Cars Model Year')
ax1.legend(labels, loc = 'upper right')
<matplotlib.legend.Legend at 0x7fa67a17ecd0>
figure = plt.figure(figsize=(15,7))
sns.scatterplot(x='year', y='type', data=car_labels_data)
<AxesSubplot:xlabel='year', ylabel='type'>
figure = plt.figure(figsize=(15,7))
sns.scatterplot(car_labels_data['year'], car_labels_data['type'], hue=car_labels_data['year'], palette='Set2')
<AxesSubplot:xlabel='year', ylabel='type'>
# filtering the rows for Sedan
df=car_labels_data[car_labels_data['labels'].str.contains('Sedan')]
sns.catplot(y="labels", x="year", data=df,kind="swarm",height=8, aspect=1)
<seaborn.axisgrid.FacetGrid at 0x7fa65b1a1b20>
figure = plt.figure(figsize=(15,15))
plt.xticks(rotation='vertical')
sns.countplot(data=df, x='labels',palette='plasma')
<AxesSubplot:xlabel='labels', ylabel='count'>
# filtering the rows for SUV
df2=car_labels_data[car_labels_data['labels'].str.contains('SUV')]
sns.catplot(y="labels", x="year", data=df2,kind="swarm",height=8, aspect=1)
<seaborn.axisgrid.FacetGrid at 0x7fa6760a6b20>
figure = plt.figure(figsize=(15,15))
plt.xticks(rotation='vertical')
sns.countplot(data=df2, x='labels')
<AxesSubplot:xlabel='labels', ylabel='count'>
# filtering the rows for Convertible
df3=car_labels_data[car_labels_data['labels'].str.contains('Convertible')]
sns.catplot(y="labels", x="year", data=df3,kind="swarm",height=8, aspect=1)
<seaborn.axisgrid.FacetGrid at 0x7fa67aa54820>
figure = plt.figure(figsize=(15,15))
plt.xticks(rotation='vertical')
sns.countplot(data=df3, x='labels')
<AxesSubplot:xlabel='labels', ylabel='count'>
# filtering the rows for Hatchback
df4=car_labels_data[car_labels_data['labels'].str.contains('Hatchback')]
sns.catplot(y="labels", x="year", data=df4,kind="swarm",height=8, aspect=1)
<seaborn.axisgrid.FacetGrid at 0x7fa67aa4ffa0>
figure = plt.figure(figsize=(15,15))
plt.xticks(rotation='vertical')
sns.countplot(data=df4, x='labels')
<AxesSubplot:xlabel='labels', ylabel='count'>
# filtering the rows for Coupe
df5=car_labels_data[car_labels_data['labels'].str.contains('Coupe')]
sns.catplot(y="labels", x="year", data=df5,kind="swarm",height=8, aspect=1)
<seaborn.axisgrid.FacetGrid at 0x7fa69b3df550>
figure = plt.figure(figsize=(15,15))
plt.xticks(rotation='vertical')
sns.countplot(data=df5, x='labels')
<AxesSubplot:xlabel='labels', ylabel='count'>
text = " ".join(name for name in car_labels_data.labels)
print ("There are {} words in the combination of all records.".format(len(text)))
There are 4669 words in the combination of all records.
from wordcloud import WordCloud
# Generate a word cloud image
wordcloud = WordCloud(background_color="black").generate(text)
figure = plt.figure(figsize=(15,15))
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis("off")
plt.show()
car_labels = car_labels_data['labels'].to_list()
car_labels
['AM General Hummer SUV ', 'Acura Integra Type R ', 'Acura RL Sedan ', 'Acura TL Sedan ', 'Acura TL Type-S ', 'Acura TSX Sedan ', 'Acura ZDX Hatchback ', 'Aston Martin V8 Vantage Convertible ', 'Aston Martin V8 Vantage Coupe ', 'Aston Martin Virage Convertible ', 'Aston Martin Virage Coupe ', 'Audi 100 Sedan ', 'Audi 100 Wagon ', 'Audi A5 Coupe ', 'Audi R8 Coupe ', 'Audi RS 4 Convertible ', 'Audi S4 Sedan ', 'Audi S4 Sedan ', 'Audi S5 Convertible ', 'Audi S5 Coupe ', 'Audi S6 Sedan ', 'Audi TT Hatchback ', 'Audi TT RS Coupe ', 'Audi TTS Coupe ', 'Audi V8 Sedan ', 'BMW 1 Series Convertible ', 'BMW 1 Series Coupe ', 'BMW 3 Series Sedan ', 'BMW 3 Series Wagon ', 'BMW 6 Series Convertible ', 'BMW ActiveHybrid 5 Sedan ', 'BMW M3 Coupe ', 'BMW M5 Sedan ', 'BMW M6 Convertible ', 'BMW X3 SUV ', 'BMW X5 SUV ', 'BMW X6 SUV ', 'BMW Z4 Convertible ', 'Bentley Arnage Sedan ', 'Bentley Continental Flying Spur Sedan ', 'Bentley Continental GT Coupe ', 'Bentley Continental GT Coupe ', 'Bentley Continental Supersports Conv. Convertible ', 'Bentley Mulsanne Sedan ', 'Bugatti Veyron 16.4 Convertible ', 'Bugatti Veyron 16.4 Coupe ', 'Buick Enclave SUV ', 'Buick Rainier SUV ', 'Buick Regal GS ', 'Buick Verano Sedan ', 'Cadillac CTS-V Sedan ', 'Cadillac Escalade EXT Crew Cab ', 'Cadillac SRX SUV ', 'Chevrolet Avalanche Crew Cab ', 'Chevrolet Camaro Convertible ', 'Chevrolet Cobalt SS ', 'Chevrolet Corvette Convertible ', 'Chevrolet Corvette Ron Fellows Edition Z06 ', 'Chevrolet Corvette ZR1 ', 'Chevrolet Express Cargo Van ', 'Chevrolet Express Van ', 'Chevrolet HHR SS ', 'Chevrolet Impala Sedan ', 'Chevrolet Malibu Hybrid Sedan ', 'Chevrolet Malibu Sedan ', 'Chevrolet Monte Carlo Coupe ', 'Chevrolet Silverado 1500 Classic Extended Cab ', 'Chevrolet Silverado 1500 Extended Cab ', 'Chevrolet Silverado 1500 Hybrid Crew Cab ', 'Chevrolet Silverado 1500 Regular Cab ', 'Chevrolet Silverado 2500HD Regular Cab ', 'Chevrolet Sonic Sedan ', 'Chevrolet Tahoe Hybrid SUV ', 'Chevrolet TrailBlazer SS ', 'Chevrolet Traverse SUV ', 'Chrysler 300 SRT-8 ', 'Chrysler Aspen SUV ', 'Chrysler Crossfire Convertible ', 'Chrysler PT Cruiser Convertible ', 'Chrysler Sebring Convertible ', 'Chrysler Town and Country Minivan ', 'Daewoo Nubira Wagon ', 'Dodge Caliber Wagon ', 'Dodge Caliber Wagon ', 'Dodge Caravan Minivan ', 'Dodge Challenger SRT8 ', 'Dodge Charger SRT-8 ', 'Dodge Charger Sedan ', 'Dodge Dakota Club Cab ', 'Dodge Dakota Crew Cab ', 'Dodge Durango SUV ', 'Dodge Durango SUV ', 'Dodge Journey SUV ', 'Dodge Magnum Wagon ', 'Dodge Ram Pickup 3500 Crew Cab ', 'Dodge Ram Pickup 3500 Quad Cab ', 'Dodge Sprinter Cargo Van ', 'Eagle Talon Hatchback ', 'FIAT 500 Abarth ', 'FIAT 500 Convertible ', 'Ferrari 458 Italia Convertible ', 'Ferrari 458 Italia Coupe ', 'Ferrari California Convertible ', 'Ferrari FF Coupe ', 'Fisker Karma Sedan ', 'Ford E-Series Wagon Van ', 'Ford Edge SUV ', 'Ford Expedition EL SUV ', 'Ford F-150 Regular Cab ', 'Ford F-150 Regular Cab ', 'Ford F-450 Super Duty Crew Cab ', 'Ford Fiesta Sedan ', 'Ford Focus Sedan ', 'Ford Freestar Minivan ', 'Ford GT Coupe ', 'Ford Mustang Convertible ', 'Ford Ranger SuperCab ', 'GMC Acadia SUV ', 'GMC Canyon Extended Cab ', 'GMC Savana Van ', 'GMC Terrain SUV ', 'GMC Yukon Hybrid SUV ', 'Geo Metro Convertible ', 'HUMMER H2 SUT Crew Cab ', 'HUMMER H3T Crew Cab ', 'Honda Accord Coupe ', 'Honda Accord Sedan ', 'Honda Odyssey Minivan ', 'Honda Odyssey Minivan ', 'Hyundai Accent Sedan ', 'Hyundai Azera Sedan ', 'Hyundai Elantra Sedan ', 'Hyundai Elantra Touring Hatchback ', 'Hyundai Genesis Sedan ', 'Hyundai Santa Fe SUV ', 'Hyundai Sonata Hybrid Sedan ', 'Hyundai Sonata Sedan ', 'Hyundai Tucson SUV ', 'Hyundai Veloster Hatchback ', 'Hyundai Veracruz SUV ', 'Infiniti G Coupe IPL ', 'Infiniti QX56 SUV ', 'Isuzu Ascender SUV ', 'Jaguar XK XKR ', 'Jeep Compass SUV ', 'Jeep Grand Cherokee SUV ', 'Jeep Liberty SUV ', 'Jeep Patriot SUV ', 'Jeep Wrangler SUV ', 'Lamborghini Aventador Coupe ', 'Lamborghini Diablo Coupe ', 'Lamborghini Gallardo LP 570-4 Superleggera ', 'Lamborghini Reventon Coupe ', 'Land Rover LR2 SUV ', 'Land Rover Range Rover SUV ', 'Lincoln Town Car Sedan ', 'MINI Cooper Roadster Convertible ', 'Maybach Landaulet Convertible ', 'Mazda Tribute SUV ', 'McLaren MP4-12C Coupe ', 'Mercedes-Benz 300-Class Convertible ', 'Mercedes-Benz C-Class Sedan ', 'Mercedes-Benz E-Class Sedan ', 'Mercedes-Benz S-Class Sedan ', 'Mercedes-Benz SL-Class Coupe ', 'Mercedes-Benz Sprinter Van ', 'Mitsubishi Lancer Sedan ', 'Nissan 240SX Coupe ', 'Nissan Juke Hatchback ', 'Nissan Leaf Hatchback ', 'Nissan NV Passenger Van ', 'Plymouth Neon Coupe ', 'Porsche Panamera Sedan ', 'Ram C-V Cargo Van Minivan ', 'Rolls-Royce Ghost Sedan ', 'Rolls-Royce Phantom Drophead Coupe Convertible ', 'Rolls-Royce Phantom Sedan ', 'Scion xD Hatchback ', 'Spyker C8 Convertible ', 'Spyker C8 Coupe ', 'Suzuki Aerio Sedan ', 'Suzuki Kizashi Sedan ', 'Suzuki SX4 Hatchback ', 'Suzuki SX4 Sedan ', 'Tesla Model S Sedan ', 'Toyota 4Runner SUV ', 'Toyota Camry Sedan ', 'Toyota Corolla Sedan ', 'Toyota Sequoia SUV ', 'Volkswagen Beetle Hatchback ', 'Volkswagen Golf Hatchback ', 'Volkswagen Golf Hatchback ', 'Volvo 240 Sedan ', 'Volvo C30 Hatchback ', 'Volvo XC90 SUV ', 'smart fortwo Convertible ']
#Creating a Dictionary of training image classes.
num_classes = car_train_image_details['Image class'].unique()
label_class_dict = dict(zip(car_train_image_details['class'], car_train_image_details['Image class']))
len(num_classes)
196
label_class_dict
{'Audi TTS Coupe 2012': 14,
'Acura TL Sedan 2012': 3,
'Dodge Dakota Club Cab 2007': 91,
'Hyundai Sonata Hybrid Sedan 2012': 134,
'Ford F-450 Super Duty Crew Cab 2012': 106,
'Geo Metro Convertible 1993': 123,
'Dodge Journey SUV 2012': 89,
'Dodge Charger Sedan 2012': 96,
'Mitsubishi Lancer Sedan 2012': 167,
'Chevrolet Traverse SUV 2012': 58,
'Buick Verano Sedan 2012': 49,
'Toyota Sequoia SUV 2012': 186,
'Hyundai Elantra Sedan 2007': 135,
'Dodge Caravan Minivan 1997': 85,
'Volvo C30 Hatchback 2012': 193,
'Plymouth Neon Coupe 1999': 172,
'Chevrolet Malibu Sedan 2007': 73,
'Volkswagen Beetle Hatchback 2012': 192,
'Chevrolet Corvette Ron Fellows Edition Z06 2007': 57,
'Chrysler 300 SRT-8 2010': 79,
'BMW M6 Convertible 2010': 36,
'GMC Yukon Hybrid SUV 2012': 120,
'Nissan Juke Hatchback 2012': 170,
'Volvo 240 Sedan 1993': 194,
'Suzuki SX4 Sedan 2012': 184,
'Dodge Ram Pickup 3500 Crew Cab 2010': 86,
'Spyker C8 Coupe 2009': 180,
'Land Rover Range Rover SUV 2012': 154,
'Hyundai Elantra Touring Hatchback 2012': 139,
'Chevrolet Cobalt SS 2010': 66,
'Hyundai Veracruz SUV 2012': 133,
'Ferrari 458 Italia Coupe 2012': 104,
'BMW Z4 Convertible 2012': 38,
'Dodge Charger SRT-8 2009': 97,
'Fisker Karma Sedan 2012': 105,
'Infiniti QX56 SUV 2011': 142,
'Audi A5 Coupe 2012': 13,
'Volkswagen Golf Hatchback 1991': 191,
'GMC Savana Van 2012': 119,
'Audi TT RS Coupe 2012': 25,
'Rolls-Royce Phantom Sedan 2012': 177,
'Porsche Panamera Sedan 2012': 173,
'Bentley Continental GT Coupe 2012': 42,
'Jeep Grand Cherokee SUV 2012': 148,
'Audi R8 Coupe 2012': 15,
'Cadillac Escalade EXT Crew Cab 2007': 53,
'Bentley Continental Flying Spur Sedan 2007': 44,
'Chevrolet Avalanche Crew Cab 2012': 65,
'Dodge Dakota Crew Cab 2010': 90,
'HUMMER H3T Crew Cab 2010': 124,
'Ford F-150 Regular Cab 2007': 114,
'Volkswagen Golf Hatchback 2012': 190,
'Ferrari FF Coupe 2012': 101,
'Toyota Camry Sedan 2012': 187,
'Aston Martin V8 Vantage Convertible 2012': 8,
'Audi 100 Sedan 1994': 17,
'Ford Ranger SuperCab 2011': 111,
'GMC Canyon Extended Cab 2012': 122,
'Acura TSX Sedan 2012': 5,
'BMW 3 Series Sedan 2012': 29,
'Honda Odyssey Minivan 2012': 126,
'Dodge Durango SUV 2012': 94,
'Toyota Corolla Sedan 2012': 188,
'Chevrolet Camaro Convertible 2012': 59,
'Ford Edge SUV 2012': 110,
'Bentley Continental GT Coupe 2007': 43,
'Audi 100 Wagon 1994': 18,
'Ford E-Series Wagon Van 2012': 116,
'Jeep Patriot SUV 2012': 145,
'Audi S6 Sedan 2011': 20,
'Mercedes-Benz S-Class Sedan 2012': 165,
'Hyundai Sonata Sedan 2012': 138,
'Rolls-Royce Phantom Drophead Coupe Convertible 2012': 175,
'Ford GT Coupe 2006': 112,
'Cadillac CTS-V Sedan 2012': 51,
'BMW X3 SUV 2012': 37,
'Chevrolet Express Van 2007': 71,
'Chevrolet Impala Sedan 2007': 61,
'Chevrolet Silverado 1500 Extended Cab 2012': 74,
'Mercedes-Benz C-Class Sedan 2012': 162,
'Hyundai Santa Fe SUV 2012': 131,
'Dodge Sprinter Cargo Van 2009': 88,
'GMC Acadia SUV 2012': 121,
'Hyundai Genesis Sedan 2012': 137,
'Dodge Caliber Wagon 2012': 83,
'Jeep Liberty SUV 2012': 147,
'Mercedes-Benz 300-Class Convertible 1993': 161,
'Ford Expedition EL SUV 2009': 109,
'BMW 1 Series Coupe 2012': 28,
'Jaguar XK XKR 2012': 144,
'Hyundai Accent Sedan 2012': 136,
'Isuzu Ascender SUV 2008': 143,
'Nissan 240SX Coupe 1998': 171,
'Scion xD Hatchback 2012': 178,
'Chevrolet Corvette ZR1 2012': 56,
'Bentley Arnage Sedan 2009': 40,
'Chevrolet HHR SS 2010': 60,
'Land Rover LR2 SUV 2012': 155,
'Hyundai Azera Sedan 2012': 140,
'Chrysler Aspen SUV 2009': 76,
'Buick Regal GS 2012': 47,
'BMW 3 Series Wagon 2012': 30,
'Jeep Compass SUV 2012': 149,
'Ram C-V Cargo Van Minivan 2012': 174,
'Spyker C8 Convertible 2009': 179,
'Audi S4 Sedan 2007': 24,
'Rolls-Royce Ghost Sedan 2012': 176,
'AM General Hummer SUV 2000': 1,
'Ford Freestar Minivan 2007': 108,
'Bentley Mulsanne Sedan 2011': 41,
'Audi TT Hatchback 2011': 19,
'Mercedes-Benz SL-Class Coupe 2009': 163,
'Chevrolet Silverado 1500 Hybrid Crew Cab 2012': 54,
'Buick Enclave SUV 2012': 50,
'Chevrolet TrailBlazer SS 2009': 68,
'HUMMER H2 SUT Crew Cab 2009': 125,
'McLaren MP4-12C Coupe 2012': 160,
'Dodge Challenger SRT8 2011': 93,
'Suzuki SX4 Hatchback 2012': 183,
'Bugatti Veyron 16.4 Convertible 2009': 45,
'Toyota 4Runner SUV 2012': 189,
'Buick Rainier SUV 2007': 48,
'Chrysler Sebring Convertible 2010': 77,
'Acura Integra Type R 2001': 6,
'Audi V8 Sedan 1994': 16,
'Audi RS 4 Convertible 2008': 12,
'Honda Accord Coupe 2012': 128,
'Audi S4 Sedan 2012': 23,
'Aston Martin Virage Coupe 2012': 11,
'Chevrolet Sonic Sedan 2012': 63,
'Chevrolet Monte Carlo Coupe 2007': 72,
'Volvo XC90 SUV 2007': 195,
'Ford Mustang Convertible 2007': 107,
'Aston Martin Virage Convertible 2012': 10,
'smart fortwo Convertible 2012': 196,
'FIAT 500 Abarth 2012': 99,
'Infiniti G Coupe IPL 2012': 141,
'Dodge Caliber Wagon 2007': 84,
'Hyundai Tucson SUV 2012': 132,
'Acura ZDX Hatchback 2012': 7,
'BMW ActiveHybrid 5 Sedan 2012': 26,
'Ferrari California Convertible 2012': 102,
'Nissan Leaf Hatchback 2012': 168,
'Lamborghini Diablo Coupe 2001': 153,
'Audi S5 Convertible 2012': 21,
'BMW 6 Series Convertible 2007': 31,
'Ferrari 458 Italia Convertible 2012': 103,
'Chevrolet Silverado 2500HD Regular Cab 2012': 69,
'Chevrolet Corvette Convertible 2012': 55,
'Bugatti Veyron 16.4 Coupe 2009': 46,
'Tesla Model S Sedan 2012': 185,
'FIAT 500 Convertible 2012': 100,
'Hyundai Veloster Hatchback 2012': 130,
'Lincoln Town Car Sedan 2011': 156,
'Lamborghini Aventador Coupe 2012': 151,
'Dodge Ram Pickup 3500 Quad Cab 2009': 87,
'Nissan NV Passenger Van 2012': 169,
'Honda Odyssey Minivan 2007': 127,
'Maybach Landaulet Convertible 2012': 158,
'Chevrolet Silverado 1500 Regular Cab 2012': 75,
'Suzuki Kizashi Sedan 2012': 182,
'Chevrolet Tahoe Hybrid SUV 2012': 62,
'Mercedes-Benz Sprinter Van 2012': 166,
'Suzuki Aerio Sedan 2007': 181,
'Audi S5 Coupe 2012': 22,
'Aston Martin V8 Vantage Coupe 2012': 9,
'Chevrolet Malibu Hybrid Sedan 2010': 67,
'Ford F-150 Regular Cab 2012': 113,
'Ford Fiesta Sedan 2012': 117,
'Ford Focus Sedan 2007': 115,
'Bentley Continental Supersports Conv. Convertible 2012': 39,
'Chevrolet Silverado 1500 Classic Extended Cab 2007': 70,
'BMW X5 SUV 2007': 32,
'Jeep Wrangler SUV 2012': 146,
'Acura TL Type-S 2008': 4,
'Chrysler Crossfire Convertible 2008': 80,
'Lamborghini Gallardo LP 570-4 Superleggera 2012': 152,
'Mercedes-Benz E-Class Sedan 2012': 164,
'Chevrolet Express Cargo Van 2007': 64,
'GMC Terrain SUV 2012': 118,
'Dodge Magnum Wagon 2008': 92,
'Honda Accord Sedan 2012': 129,
'Chrysler PT Cruiser Convertible 2008': 81,
'Mazda Tribute SUV 2011': 159,
'BMW M3 Coupe 2012': 34,
'Eagle Talon Hatchback 1998': 98,
'Daewoo Nubira Wagon 2002': 82,
'BMW X6 SUV 2012': 33,
'Lamborghini Reventon Coupe 2008': 150,
'Cadillac SRX SUV 2012': 52,
'MINI Cooper Roadster Convertible 2012': 157,
'Acura RL Sedan 2012': 2,
'BMW 1 Series Convertible 2012': 27,
'Dodge Durango SUV 2007': 95,
'BMW M5 Sedan 2010': 35,
'Chrysler Town and Country Minivan 2012': 78}
car_train_image_details.sort_values(['Image class'],axis=0).reset_index()
| index | Image Name | imagePath | class | height | width | X1 | Y1 | X2 | Y2 | Image class | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 6173 | 06174.jpg | Dataset/Car Images/Train Images/AM General Hum... | AM General Hummer SUV 2000 | 179 | 300 | 1 | 1 | 300 | 179 | 1 |
| 1 | 5920 | 05921.jpg | Dataset/Car Images/Train Images/AM General Hum... | AM General Hummer SUV 2000 | 743 | 1024 | 111 | 213 | 907 | 683 | 1 |
| 2 | 3392 | 03393.jpg | Dataset/Car Images/Train Images/AM General Hum... | AM General Hummer SUV 2000 | 1600 | 2405 | 125 | 645 | 1845 | 1421 | 1 |
| 3 | 4543 | 04544.jpg | Dataset/Car Images/Train Images/AM General Hum... | AM General Hummer SUV 2000 | 200 | 339 | 18 | 18 | 328 | 190 | 1 |
| 4 | 945 | 00946.jpg | Dataset/Car Images/Train Images/AM General Hum... | AM General Hummer SUV 2000 | 219 | 460 | 48 | 24 | 441 | 202 | 1 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 8139 | 7894 | 07895.jpg | Dataset/Car Images/Train Images/smart fortwo C... | smart fortwo Convertible 2012 | 272 | 500 | 31 | 6 | 494 | 272 | 196 |
| 8140 | 6003 | 06004.jpg | Dataset/Car Images/Train Images/smart fortwo C... | smart fortwo Convertible 2012 | 194 | 259 | 8 | 7 | 256 | 190 | 196 |
| 8141 | 2102 | 02103.jpg | Dataset/Car Images/Train Images/smart fortwo C... | smart fortwo Convertible 2012 | 683 | 1024 | 34 | 262 | 766 | 650 | 196 |
| 8142 | 2391 | 02392.jpg | Dataset/Car Images/Train Images/smart fortwo C... | smart fortwo Convertible 2012 | 123 | 212 | 17 | 13 | 197 | 115 | 196 |
| 8143 | 4360 | 04361.jpg | Dataset/Car Images/Train Images/smart fortwo C... | smart fortwo Convertible 2012 | 168 | 300 | 19 | 40 | 210 | 150 | 196 |
8144 rows × 11 columns
car_test_image_details.sort_values(['Image class'],axis=0).reset_index()
| index | Image Name | imagePath | class | height | width | X1 | Y1 | X2 | Y2 | Image class | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 4116 | 04117.jpg | Dataset/Car Images/Test Images/AM General Humm... | AM General Hummer SUV 2000 | 743 | 1024 | 111 | 177 | 920 | 642 | 1 |
| 1 | 3875 | 03876.jpg | Dataset/Car Images/Test Images/AM General Humm... | AM General Hummer SUV 2000 | 69 | 93 | 8 | 5 | 85 | 69 | 1 |
| 2 | 5022 | 05023.jpg | Dataset/Car Images/Test Images/AM General Humm... | AM General Hummer SUV 2000 | 506 | 800 | 26 | 72 | 774 | 480 | 1 |
| 3 | 1517 | 01518.jpg | Dataset/Car Images/Test Images/AM General Humm... | AM General Hummer SUV 2000 | 520 | 800 | 26 | 62 | 763 | 504 | 1 |
| 4 | 1537 | 01538.jpg | Dataset/Car Images/Test Images/AM General Humm... | AM General Hummer SUV 2000 | 353 | 500 | 32 | 69 | 487 | 316 | 1 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 8036 | 7466 | 07467.jpg | Dataset/Car Images/Test Images/smart fortwo Co... | smart fortwo Convertible 2012 | 545 | 730 | 83 | 102 | 648 | 485 | 196 |
| 8037 | 4489 | 04490.jpg | Dataset/Car Images/Test Images/smart fortwo Co... | smart fortwo Convertible 2012 | 850 | 1280 | 63 | 121 | 1227 | 795 | 196 |
| 8038 | 3482 | 03483.jpg | Dataset/Car Images/Test Images/smart fortwo Co... | smart fortwo Convertible 2012 | 405 | 640 | 77 | 96 | 576 | 367 | 196 |
| 8039 | 5705 | 05706.jpg | Dataset/Car Images/Test Images/smart fortwo Co... | smart fortwo Convertible 2012 | 225 | 300 | 30 | 93 | 232 | 215 | 196 |
| 8040 | 1292 | 01293.jpg | Dataset/Car Images/Test Images/smart fortwo Co... | smart fortwo Convertible 2012 | 533 | 800 | 82 | 56 | 740 | 502 | 196 |
8041 rows × 11 columns
Let us check train and test csv data
car_train_image_details
| Image Name | imagePath | class | height | width | X1 | Y1 | X2 | Y2 | Image class | |
|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 00001.jpg | Dataset/Car Images/Train Images/Audi TTS Coupe... | Audi TTS Coupe 2012 | 400 | 600 | 39 | 116 | 569 | 375 | 14 |
| 1 | 00002.jpg | Dataset/Car Images/Train Images/Acura TL Sedan... | Acura TL Sedan 2012 | 675 | 900 | 36 | 116 | 868 | 587 | 3 |
| 2 | 00003.jpg | Dataset/Car Images/Train Images/Dodge Dakota C... | Dodge Dakota Club Cab 2007 | 480 | 640 | 85 | 109 | 601 | 381 | 91 |
| 3 | 00004.jpg | Dataset/Car Images/Train Images/Hyundai Sonata... | Hyundai Sonata Hybrid Sedan 2012 | 1386 | 2100 | 621 | 393 | 1484 | 1096 | 134 |
| 4 | 00005.jpg | Dataset/Car Images/Train Images/Ford F-450 Sup... | Ford F-450 Super Duty Crew Cab 2012 | 108 | 144 | 14 | 36 | 133 | 99 | 106 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 8139 | 08140.jpg | Dataset/Car Images/Train Images/Chrysler Town ... | Chrysler Town and Country Minivan 2012 | 360 | 424 | 3 | 44 | 423 | 336 | 78 |
| 8140 | 08141.jpg | Dataset/Car Images/Train Images/smart fortwo C... | smart fortwo Convertible 2012 | 600 | 800 | 138 | 150 | 706 | 523 | 196 |
| 8141 | 08142.jpg | Dataset/Car Images/Train Images/Mercedes-Benz ... | Mercedes-Benz SL-Class Coupe 2009 | 469 | 750 | 26 | 246 | 660 | 449 | 163 |
| 8142 | 08143.jpg | Dataset/Car Images/Train Images/Ford GT Coupe ... | Ford GT Coupe 2006 | 1067 | 1600 | 78 | 526 | 1489 | 908 | 112 |
| 8143 | 08144.jpg | Dataset/Car Images/Train Images/Audi 100 Sedan... | Audi 100 Sedan 1994 | 683 | 883 | 20 | 240 | 862 | 677 | 17 |
8144 rows × 10 columns
car_test_image_details
| Image Name | imagePath | class | height | width | X1 | Y1 | X2 | Y2 | Image class | |
|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 00001.jpg | Dataset/Car Images/Test Images/Suzuki Aerio Se... | Suzuki Aerio Sedan 2007 | 182 | 276 | 30 | 52 | 246 | 147 | 181 |
| 1 | 00002.jpg | Dataset/Car Images/Test Images/Ferrari 458 Ita... | Ferrari 458 Italia Convertible 2012 | 360 | 640 | 100 | 19 | 576 | 203 | 103 |
| 2 | 00003.jpg | Dataset/Car Images/Test Images/Jeep Patriot SU... | Jeep Patriot SUV 2012 | 741 | 1024 | 51 | 105 | 968 | 659 | 145 |
| 3 | 00004.jpg | Dataset/Car Images/Test Images/Toyota Camry Se... | Toyota Camry Sedan 2012 | 480 | 640 | 67 | 84 | 581 | 407 | 187 |
| 4 | 00005.jpg | Dataset/Car Images/Test Images/Tesla Model S S... | Tesla Model S Sedan 2012 | 373 | 600 | 140 | 151 | 593 | 339 | 185 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 8036 | 08037.jpg | Dataset/Car Images/Test Images/Chevrolet Sonic... | Chevrolet Sonic Sedan 2012 | 800 | 1200 | 49 | 57 | 1169 | 669 | 63 |
| 8037 | 08038.jpg | Dataset/Car Images/Test Images/Audi V8 Sedan 1... | Audi V8 Sedan 1994 | 480 | 640 | 23 | 18 | 640 | 459 | 16 |
| 8038 | 08039.jpg | Dataset/Car Images/Test Images/Audi 100 Sedan ... | Audi 100 Sedan 1994 | 303 | 635 | 33 | 27 | 602 | 252 | 17 |
| 8039 | 08040.jpg | Dataset/Car Images/Test Images/BMW Z4 Converti... | BMW Z4 Convertible 2012 | 427 | 640 | 33 | 142 | 521 | 376 | 38 |
| 8040 | 08041.jpg | Dataset/Car Images/Test Images/BMW X5 SUV 2007... | BMW X5 SUV 2007 | 426 | 640 | 77 | 73 | 506 | 380 | 32 |
8041 rows × 10 columns
car_test_image_details.to_csv('./test_df_final.csv',index=False)
car_train_image_details.to_csv('./train_df_final.csv',index=False)
CNN Model using Transfer Learning We are using the built-in module for Inception-ResNet V2 in tf.keras. We are not including the top and we won't import the output layer. Instead we are adding output classes for class classification.
nb_epoch = 20
batch_size = 300
width = 256
height = 256
label_class_dict
{'Audi TTS Coupe 2012': 14,
'Acura TL Sedan 2012': 3,
'Dodge Dakota Club Cab 2007': 91,
'Hyundai Sonata Hybrid Sedan 2012': 134,
'Ford F-450 Super Duty Crew Cab 2012': 106,
'Geo Metro Convertible 1993': 123,
'Dodge Journey SUV 2012': 89,
'Dodge Charger Sedan 2012': 96,
'Mitsubishi Lancer Sedan 2012': 167,
'Chevrolet Traverse SUV 2012': 58,
'Buick Verano Sedan 2012': 49,
'Toyota Sequoia SUV 2012': 186,
'Hyundai Elantra Sedan 2007': 135,
'Dodge Caravan Minivan 1997': 85,
'Volvo C30 Hatchback 2012': 193,
'Plymouth Neon Coupe 1999': 172,
'Chevrolet Malibu Sedan 2007': 73,
'Volkswagen Beetle Hatchback 2012': 192,
'Chevrolet Corvette Ron Fellows Edition Z06 2007': 57,
'Chrysler 300 SRT-8 2010': 79,
'BMW M6 Convertible 2010': 36,
'GMC Yukon Hybrid SUV 2012': 120,
'Nissan Juke Hatchback 2012': 170,
'Volvo 240 Sedan 1993': 194,
'Suzuki SX4 Sedan 2012': 184,
'Dodge Ram Pickup 3500 Crew Cab 2010': 86,
'Spyker C8 Coupe 2009': 180,
'Land Rover Range Rover SUV 2012': 154,
'Hyundai Elantra Touring Hatchback 2012': 139,
'Chevrolet Cobalt SS 2010': 66,
'Hyundai Veracruz SUV 2012': 133,
'Ferrari 458 Italia Coupe 2012': 104,
'BMW Z4 Convertible 2012': 38,
'Dodge Charger SRT-8 2009': 97,
'Fisker Karma Sedan 2012': 105,
'Infiniti QX56 SUV 2011': 142,
'Audi A5 Coupe 2012': 13,
'Volkswagen Golf Hatchback 1991': 191,
'GMC Savana Van 2012': 119,
'Audi TT RS Coupe 2012': 25,
'Rolls-Royce Phantom Sedan 2012': 177,
'Porsche Panamera Sedan 2012': 173,
'Bentley Continental GT Coupe 2012': 42,
'Jeep Grand Cherokee SUV 2012': 148,
'Audi R8 Coupe 2012': 15,
'Cadillac Escalade EXT Crew Cab 2007': 53,
'Bentley Continental Flying Spur Sedan 2007': 44,
'Chevrolet Avalanche Crew Cab 2012': 65,
'Dodge Dakota Crew Cab 2010': 90,
'HUMMER H3T Crew Cab 2010': 124,
'Ford F-150 Regular Cab 2007': 114,
'Volkswagen Golf Hatchback 2012': 190,
'Ferrari FF Coupe 2012': 101,
'Toyota Camry Sedan 2012': 187,
'Aston Martin V8 Vantage Convertible 2012': 8,
'Audi 100 Sedan 1994': 17,
'Ford Ranger SuperCab 2011': 111,
'GMC Canyon Extended Cab 2012': 122,
'Acura TSX Sedan 2012': 5,
'BMW 3 Series Sedan 2012': 29,
'Honda Odyssey Minivan 2012': 126,
'Dodge Durango SUV 2012': 94,
'Toyota Corolla Sedan 2012': 188,
'Chevrolet Camaro Convertible 2012': 59,
'Ford Edge SUV 2012': 110,
'Bentley Continental GT Coupe 2007': 43,
'Audi 100 Wagon 1994': 18,
'Ford E-Series Wagon Van 2012': 116,
'Jeep Patriot SUV 2012': 145,
'Audi S6 Sedan 2011': 20,
'Mercedes-Benz S-Class Sedan 2012': 165,
'Hyundai Sonata Sedan 2012': 138,
'Rolls-Royce Phantom Drophead Coupe Convertible 2012': 175,
'Ford GT Coupe 2006': 112,
'Cadillac CTS-V Sedan 2012': 51,
'BMW X3 SUV 2012': 37,
'Chevrolet Express Van 2007': 71,
'Chevrolet Impala Sedan 2007': 61,
'Chevrolet Silverado 1500 Extended Cab 2012': 74,
'Mercedes-Benz C-Class Sedan 2012': 162,
'Hyundai Santa Fe SUV 2012': 131,
'Dodge Sprinter Cargo Van 2009': 88,
'GMC Acadia SUV 2012': 121,
'Hyundai Genesis Sedan 2012': 137,
'Dodge Caliber Wagon 2012': 83,
'Jeep Liberty SUV 2012': 147,
'Mercedes-Benz 300-Class Convertible 1993': 161,
'Ford Expedition EL SUV 2009': 109,
'BMW 1 Series Coupe 2012': 28,
'Jaguar XK XKR 2012': 144,
'Hyundai Accent Sedan 2012': 136,
'Isuzu Ascender SUV 2008': 143,
'Nissan 240SX Coupe 1998': 171,
'Scion xD Hatchback 2012': 178,
'Chevrolet Corvette ZR1 2012': 56,
'Bentley Arnage Sedan 2009': 40,
'Chevrolet HHR SS 2010': 60,
'Land Rover LR2 SUV 2012': 155,
'Hyundai Azera Sedan 2012': 140,
'Chrysler Aspen SUV 2009': 76,
'Buick Regal GS 2012': 47,
'BMW 3 Series Wagon 2012': 30,
'Jeep Compass SUV 2012': 149,
'Ram C-V Cargo Van Minivan 2012': 174,
'Spyker C8 Convertible 2009': 179,
'Audi S4 Sedan 2007': 24,
'Rolls-Royce Ghost Sedan 2012': 176,
'AM General Hummer SUV 2000': 1,
'Ford Freestar Minivan 2007': 108,
'Bentley Mulsanne Sedan 2011': 41,
'Audi TT Hatchback 2011': 19,
'Mercedes-Benz SL-Class Coupe 2009': 163,
'Chevrolet Silverado 1500 Hybrid Crew Cab 2012': 54,
'Buick Enclave SUV 2012': 50,
'Chevrolet TrailBlazer SS 2009': 68,
'HUMMER H2 SUT Crew Cab 2009': 125,
'McLaren MP4-12C Coupe 2012': 160,
'Dodge Challenger SRT8 2011': 93,
'Suzuki SX4 Hatchback 2012': 183,
'Bugatti Veyron 16.4 Convertible 2009': 45,
'Toyota 4Runner SUV 2012': 189,
'Buick Rainier SUV 2007': 48,
'Chrysler Sebring Convertible 2010': 77,
'Acura Integra Type R 2001': 6,
'Audi V8 Sedan 1994': 16,
'Audi RS 4 Convertible 2008': 12,
'Honda Accord Coupe 2012': 128,
'Audi S4 Sedan 2012': 23,
'Aston Martin Virage Coupe 2012': 11,
'Chevrolet Sonic Sedan 2012': 63,
'Chevrolet Monte Carlo Coupe 2007': 72,
'Volvo XC90 SUV 2007': 195,
'Ford Mustang Convertible 2007': 107,
'Aston Martin Virage Convertible 2012': 10,
'smart fortwo Convertible 2012': 196,
'FIAT 500 Abarth 2012': 99,
'Infiniti G Coupe IPL 2012': 141,
'Dodge Caliber Wagon 2007': 84,
'Hyundai Tucson SUV 2012': 132,
'Acura ZDX Hatchback 2012': 7,
'BMW ActiveHybrid 5 Sedan 2012': 26,
'Ferrari California Convertible 2012': 102,
'Nissan Leaf Hatchback 2012': 168,
'Lamborghini Diablo Coupe 2001': 153,
'Audi S5 Convertible 2012': 21,
'BMW 6 Series Convertible 2007': 31,
'Ferrari 458 Italia Convertible 2012': 103,
'Chevrolet Silverado 2500HD Regular Cab 2012': 69,
'Chevrolet Corvette Convertible 2012': 55,
'Bugatti Veyron 16.4 Coupe 2009': 46,
'Tesla Model S Sedan 2012': 185,
'FIAT 500 Convertible 2012': 100,
'Hyundai Veloster Hatchback 2012': 130,
'Lincoln Town Car Sedan 2011': 156,
'Lamborghini Aventador Coupe 2012': 151,
'Dodge Ram Pickup 3500 Quad Cab 2009': 87,
'Nissan NV Passenger Van 2012': 169,
'Honda Odyssey Minivan 2007': 127,
'Maybach Landaulet Convertible 2012': 158,
'Chevrolet Silverado 1500 Regular Cab 2012': 75,
'Suzuki Kizashi Sedan 2012': 182,
'Chevrolet Tahoe Hybrid SUV 2012': 62,
'Mercedes-Benz Sprinter Van 2012': 166,
'Suzuki Aerio Sedan 2007': 181,
'Audi S5 Coupe 2012': 22,
'Aston Martin V8 Vantage Coupe 2012': 9,
'Chevrolet Malibu Hybrid Sedan 2010': 67,
'Ford F-150 Regular Cab 2012': 113,
'Ford Fiesta Sedan 2012': 117,
'Ford Focus Sedan 2007': 115,
'Bentley Continental Supersports Conv. Convertible 2012': 39,
'Chevrolet Silverado 1500 Classic Extended Cab 2007': 70,
'BMW X5 SUV 2007': 32,
'Jeep Wrangler SUV 2012': 146,
'Acura TL Type-S 2008': 4,
'Chrysler Crossfire Convertible 2008': 80,
'Lamborghini Gallardo LP 570-4 Superleggera 2012': 152,
'Mercedes-Benz E-Class Sedan 2012': 164,
'Chevrolet Express Cargo Van 2007': 64,
'GMC Terrain SUV 2012': 118,
'Dodge Magnum Wagon 2008': 92,
'Honda Accord Sedan 2012': 129,
'Chrysler PT Cruiser Convertible 2008': 81,
'Mazda Tribute SUV 2011': 159,
'BMW M3 Coupe 2012': 34,
'Eagle Talon Hatchback 1998': 98,
'Daewoo Nubira Wagon 2002': 82,
'BMW X6 SUV 2012': 33,
'Lamborghini Reventon Coupe 2008': 150,
'Cadillac SRX SUV 2012': 52,
'MINI Cooper Roadster Convertible 2012': 157,
'Acura RL Sedan 2012': 2,
'BMW 1 Series Convertible 2012': 27,
'Dodge Durango SUV 2007': 95,
'BMW M5 Sedan 2010': 35,
'Chrysler Town and Country Minivan 2012': 78}
def define_model(width, height):
model_input = Input(shape=(width, height, 3), name='image_input')
model_main = tf.keras.applications.inception_resnet_v2.InceptionResNetV2(include_top=False, weights='imagenet')(model_input)
model_dense1 = Flatten()(model_main)
model_dense2 = Dense(256, activation='relu')(model_dense1)
model_out = Dense(196, activation="softmax")(model_dense2)
model = Model(model_input, model_out)
optimizer = Adam(lr=0.00004, beta_1=0.9, beta_2=0.999)
model.compile(loss="categorical_crossentropy", optimizer=optimizer, metrics=["accuracy"])
return model
image_size = 224
def data_generator(df, batch_size=32):
while True:
image_nums = np.random.randint(0,df.shape[0], size=batch_size)
batch_images = np.zeros(shape=(batch_size, image_size, image_size, 3))
batch_labels = np.zeros(shape=(batch_size, len(num_classes)))
batch_bboxes = np.zeros(shape=(batch_size, 4))
for i in range(batch_size):
#Read and resize image
img = image.load_img(df.loc[image_nums[i], 'Path'], target_size=(image_size, image_size))
img_array = image.img_to_array(img)
#Update batch
batch_images[i] = img_array
#convert image classification label to one hot vector
cls_label = df.loc[image_nums[i], 'Class']
cls_label = to_categorical(cls_label - 1,num_classes=len(num_classes), dtype='float32')
batch_labels[i] = cls_label
#Read and resize bounding box co-ordinates
image_width = df.loc[image_nums[i], 'Width']
image_height = df.loc[image_nums[i], 'Height']
xmin = df.loc[image_nums[i], 'xmin'] * image_size/image_width
xmax = df.loc[image_nums[i], 'xmax'] * image_size/image_width
ymin = df.loc[image_nums[i], 'ymin'] * image_size/image_height
ymax = df.loc[image_nums[i], 'ymax'] * image_size/image_height
batch_bboxes[i] = [xmin, ymin, xmax-xmin, ymax-ymin]
#Normalize batch images
for i in range(batch_size):
batch_images[i] = batch_images[i]/255.0
batch_bboxes = batch_bboxes/image_size
#Return batch
yield batch_images, [batch_labels, batch_bboxes]
image_size = 256
target_size = (256, 256)
batch_size = 224
seed = 7
from tensorflow.keras.preprocessing import image
def build_data(data, batch_size):
index = np.random.randint(0,data.shape[0], size=batch_size)
train_images = np.zeros(shape=(batch_size, width, height, 3))
bounding_boxes = np.zeros(shape=(batch_size, 4))
class_labels = np.zeros(shape=(batch_size, len(num_classes)))
for i in range(batch_size):
path = data.loc[index[i], 'imagePath']
img = image.load_img(path, target_size=(width, height))
img_array = image.img_to_array(img)
train_images[i] = img_array
cls_label = data.loc[index[i], 'Image class']
cls_label = to_categorical(cls_label - 1,num_classes=len(num_classes), dtype='float32')
class_labels[i] = cls_label
#Normalizing bounding box co-ordinates
image_width = data.loc[index[i], 'width']
image_height = data.loc[index[i], 'height']
x1 = data.loc[index[i], 'X1'] * image_size/image_width
x2 = data.loc[index[i], 'X2'] * image_size/image_width
y1 = data.loc[index[i], 'Y1'] * image_size/image_height
y2 = data.loc[index[i], 'Y2'] * image_size/image_height
bounding_boxes[i] = [x1, y1, x2-x1, y2-y1]
#Normalizing batch images
for i in range(batch_size):
train_images[i] = train_images[i]/255.0
bounding_boxes = bounding_boxes/image_size
return train_images, [class_labels, bounding_boxes]
def define_generators(pathToTrainData):
train_datagen = tf.keras.preprocessing.image.ImageDataGenerator(
rotation_range=360,
width_shift_range=0.3,
height_shift_range=0.3,
shear_range=0.3,
zoom_range=0.5,
vertical_flip=True,
horizontal_flip=True,
validation_split=0.2
)
train_generator = train_datagen.flow_from_directory(
directory=pathToTrainData,
target_size=(width, height),
batch_size=batch_size,
color_mode='rgb',
class_mode="categorical",
subset='training',
classes=label_class_dict
)
validation_generator = train_datagen.flow_from_directory(
directory=pathToTrainData,
target_size=(width, height),
batch_size=batch_size,
color_mode='rgb',
class_mode="categorical",
subset='validation',
classes=label_class_dict
)
return train_generator, validation_generator
def define_callbacks():
es = EarlyStopping(monitor='loss', patience=5, mode='min', min_delta=0.0001)
checkpoint = ModelCheckpoint( filepath='car_inception_model.h5',
monitor='val_accuracy',
save_best_only=True,
verbose=1)
save_callback = [checkpoint,es]
return save_callback
inception_model = define_model(width, height)
inception_model.summary()
train_generator, validation_generator = define_generators(pathToTrainData)
save_callback = define_callbacks()
Model: "model_1" _________________________________________________________________ Layer (type) Output Shape Param # ================================================================= image_input (InputLayer) [(None, 256, 256, 3)] 0 _________________________________________________________________ inception_resnet_v2 (Functio (None, None, None, 1536) 54336736 _________________________________________________________________ flatten_1 (Flatten) (None, 55296) 0 _________________________________________________________________ dense_2 (Dense) (None, 256) 14156032 _________________________________________________________________ dense_3 (Dense) (None, 196) 50372 ================================================================= Total params: 68,543,140 Trainable params: 68,482,596 Non-trainable params: 60,544 _________________________________________________________________ Found 6598 images belonging to 196 classes. Found 1546 images belonging to 196 classes.
inception_model.fit(
train_generator,
epochs=nb_epoch,
steps_per_epoch=train_generator.samples // batch_size,
validation_data= validation_generator,
validation_steps=validation_generator.samples // batch_size,
callbacks=save_callback )
Epoch 1/20 21/21 [==============================] - 2497s 119s/step - loss: 5.2599 - accuracy: 0.0095 - val_loss: 5.2620 - val_accuracy: 0.0167 Epoch 00001: val_accuracy improved from 0.00533 to 0.01667, saving model to car_inception_model.h5 Epoch 2/20 21/21 [==============================] - 5487s 268s/step - loss: 5.2406 - accuracy: 0.0135 - val_loss: 5.2344 - val_accuracy: 0.0160 Epoch 00002: val_accuracy did not improve from 0.01667 Epoch 3/20 21/21 [==============================] - 2500s 120s/step - loss: 5.1996 - accuracy: 0.0151 - val_loss: 5.2067 - val_accuracy: 0.0107 Epoch 00003: val_accuracy did not improve from 0.01667 Epoch 4/20 21/21 [==============================] - 2508s 119s/step - loss: 5.1552 - accuracy: 0.0191 - val_loss: 5.1454 - val_accuracy: 0.0213 Epoch 00004: val_accuracy improved from 0.01667 to 0.02133, saving model to car_inception_model.h5 Epoch 5/20 21/21 [==============================] - 2485s 118s/step - loss: 5.0874 - accuracy: 0.0245 - val_loss: 5.0969 - val_accuracy: 0.0253 Epoch 00005: val_accuracy improved from 0.02133 to 0.02533, saving model to car_inception_model.h5 Epoch 6/20 21/21 [==============================] - 2437s 116s/step - loss: 5.0031 - accuracy: 0.0322 - val_loss: 5.0570 - val_accuracy: 0.0307 Epoch 00006: val_accuracy improved from 0.02533 to 0.03067, saving model to car_inception_model.h5 Epoch 7/20 21/21 [==============================] - 2395s 114s/step - loss: 4.9089 - accuracy: 0.0440 - val_loss: 4.9722 - val_accuracy: 0.0453 Epoch 00007: val_accuracy improved from 0.03067 to 0.04533, saving model to car_inception_model.h5 Epoch 8/20 21/21 [==============================] - 2398s 114s/step - loss: 4.7951 - accuracy: 0.0581 - val_loss: 4.9068 - val_accuracy: 0.0400 Epoch 00008: val_accuracy did not improve from 0.04533 Epoch 9/20 21/21 [==============================] - 2415s 115s/step - loss: 4.6224 - accuracy: 0.0751 - val_loss: 4.8754 - val_accuracy: 0.0487 Epoch 00009: val_accuracy improved from 0.04533 to 0.04867, saving model to car_inception_model.h5 Epoch 10/20 21/21 [==============================] - 19304s 960s/step - loss: 4.4491 - accuracy: 0.0956 - val_loss: 4.8338 - val_accuracy: 0.0587 Epoch 00010: val_accuracy improved from 0.04867 to 0.05867, saving model to car_inception_model.h5 Epoch 11/20 21/21 [==============================] - 1995s 95s/step - loss: 4.2326 - accuracy: 0.1273 - val_loss: 4.6225 - val_accuracy: 0.0827 Epoch 00011: val_accuracy improved from 0.05867 to 0.08267, saving model to car_inception_model.h5 Epoch 12/20 21/21 [==============================] - 2117s 101s/step - loss: 4.0178 - accuracy: 0.1505 - val_loss: 4.5087 - val_accuracy: 0.0973 Epoch 00012: val_accuracy improved from 0.08267 to 0.09733, saving model to car_inception_model.h5 Epoch 13/20 21/21 [==============================] - 2051s 98s/step - loss: 3.7566 - accuracy: 0.1828 - val_loss: 4.1818 - val_accuracy: 0.1480 Epoch 00013: val_accuracy improved from 0.09733 to 0.14800, saving model to car_inception_model.h5 Epoch 14/20 21/21 [==============================] - 2040s 97s/step - loss: 3.5199 - accuracy: 0.2218 - val_loss: 4.0375 - val_accuracy: 0.1673 Epoch 00014: val_accuracy improved from 0.14800 to 0.16733, saving model to car_inception_model.h5 Epoch 15/20 21/21 [==============================] - 2401s 115s/step - loss: 3.2723 - accuracy: 0.2580 - val_loss: 3.9339 - val_accuracy: 0.1927 Epoch 00015: val_accuracy improved from 0.16733 to 0.19267, saving model to car_inception_model.h5 Epoch 16/20 21/21 [==============================] - 2320s 110s/step - loss: 3.0279 - accuracy: 0.3022 - val_loss: 3.7990 - val_accuracy: 0.1893 Epoch 00016: val_accuracy did not improve from 0.19267 Epoch 17/20 21/21 [==============================] - 2302s 110s/step - loss: 2.8257 - accuracy: 0.3357 - val_loss: 3.6569 - val_accuracy: 0.2247 Epoch 00017: val_accuracy improved from 0.19267 to 0.22467, saving model to car_inception_model.h5 Epoch 18/20 21/21 [==============================] - 2481s 118s/step - loss: 2.6066 - accuracy: 0.3854 - val_loss: 3.4490 - val_accuracy: 0.2513 Epoch 00018: val_accuracy improved from 0.22467 to 0.25133, saving model to car_inception_model.h5 Epoch 19/20 21/21 [==============================] - 2270s 108s/step - loss: 2.4580 - accuracy: 0.4011 - val_loss: 3.3552 - val_accuracy: 0.2707 Epoch 00019: val_accuracy improved from 0.25133 to 0.27067, saving model to car_inception_model.h5 Epoch 20/20 13/21 [=================>............] - ETA: 1:06:32 - loss: 2.2895 - accuracy: 0.4497
from keras.models import load_model
classification_model = load_model('car_inception_model.h5')
classification_model.summary()
Model: "model_3" _________________________________________________________________ Layer (type) Output Shape Param # ================================================================= image_input (InputLayer) [(None, 256, 256, 3)] 0 _________________________________________________________________ inception_resnet_v2 (Functio (None, None, None, 1536) 54336736 _________________________________________________________________ flatten_11 (Flatten) (None, 55296) 0 _________________________________________________________________ dense_24 (Dense) (None, 256) 14156032 _________________________________________________________________ dense_25 (Dense) (None, 196) 50372 ================================================================= Total params: 68,543,140 Trainable params: 68,482,596 Non-trainable params: 60,544 _________________________________________________________________
test_path=car_test_image_details.iloc[0,:]['imagePath']
test_image = cv2.imread(test_path)
plt.imshow(test_image)
<matplotlib.image.AxesImage at 0x7fa64a290100>
test_image = cv2.resize(test_image, (256,256))
test_image_batch = np.expand_dims(test_image, axis=0)
test_image_prediction = classification_model.predict(test_image_batch)
test_image_prediction
array([[1.2779597e-03, 1.2676005e-03, 2.1965193e-06, 1.1230119e-03,
1.5071580e-04, 1.0937335e-04, 5.0878287e-03, 3.1894483e-04,
7.7284680e-04, 3.6158666e-03, 8.6485717e-04, 1.1032572e-02,
3.3310011e-02, 2.3274003e-02, 1.5984173e-04, 1.8023813e-04,
3.0008014e-02, 1.7210083e-05, 1.4729383e-05, 2.1756144e-04,
8.1819494e-04, 2.2711148e-04, 8.1172941e-04, 2.0693738e-05,
1.2514458e-02, 1.2631192e-05, 5.0312001e-04, 1.5530260e-05,
3.2503270e-03, 2.0493614e-03, 4.9151331e-03, 3.7755779e-06,
6.4883282e-04, 2.3743766e-04, 9.5265978e-06, 1.3939065e-03,
2.6780416e-03, 3.0689174e-04, 3.3540244e-05, 2.1045865e-04,
1.7572257e-03, 2.3340879e-04, 6.5650762e-05, 2.1548498e-04,
2.2343316e-03, 1.4816655e-04, 1.0772981e-03, 4.4044663e-04,
3.9031831e-05, 3.3770760e-07, 1.8840507e-04, 4.3658014e-02,
1.4143801e-04, 4.9988870e-03, 2.0048693e-04, 1.4442708e-03,
3.9919214e-03, 4.5615470e-05, 1.1948322e-02, 2.5380119e-03,
1.1095385e-01, 4.2818639e-05, 1.6468423e-03, 2.4252334e-03,
5.3910664e-03, 1.6003774e-03, 2.7224311e-04, 6.4031454e-05,
8.8208653e-05, 8.8530549e-05, 9.2350681e-05, 2.4369468e-03,
1.4656904e-06, 3.5433180e-04, 4.9890723e-04, 1.7919480e-04,
4.6559426e-04, 4.1411445e-03, 3.1596355e-06, 5.1913707e-04,
5.6655821e-03, 2.1081269e-03, 7.8586309e-04, 4.7475398e-03,
7.6645680e-02, 1.0143163e-03, 1.8915447e-04, 2.9784351e-05,
3.7633106e-03, 1.1924562e-04, 2.4714062e-03, 1.1484823e-04,
3.5401210e-03, 6.3059488e-03, 8.5613392e-05, 2.4214021e-05,
1.3049742e-03, 3.3784387e-04, 1.0948846e-04, 1.8505724e-04,
2.7016582e-05, 3.0836817e-03, 8.5593070e-05, 9.9187484e-05,
6.7287991e-05, 9.5505547e-03, 3.6088768e-05, 9.1127895e-06,
1.2969612e-01, 9.3973729e-05, 1.0345508e-03, 4.7292182e-05,
2.1732298e-05, 4.3882944e-02, 4.5566971e-04, 1.5266554e-04,
5.5894707e-05, 4.6271325e-05, 5.0833607e-03, 4.5796912e-04,
8.2210290e-06, 9.8792491e-03, 1.5172443e-02, 1.6044905e-04,
1.0675614e-03, 2.8162988e-04, 8.3932508e-04, 4.3457639e-03,
1.1339893e-05, 2.7954692e-03, 3.5988642e-03, 3.4556114e-03,
3.1591309e-04, 1.8991769e-06, 5.2343379e-03, 1.0151190e-05,
3.9382893e-04, 3.1967921e-04, 4.4183116e-04, 3.1833337e-03,
1.0528669e-03, 2.1728172e-05, 5.9256278e-04, 2.6445315e-04,
3.7377208e-04, 5.1721241e-03, 2.7460685e-06, 6.9010116e-07,
4.4059449e-05, 8.9970723e-05, 2.5567617e-05, 3.9161692e-05,
1.0132001e-04, 7.7786506e-03, 3.2352275e-06, 4.7456679e-06,
2.9375375e-04, 1.8132776e-02, 1.3748248e-04, 2.1309903e-05,
6.3660648e-04, 8.3476174e-05, 1.8924450e-04, 1.6542150e-02,
1.8817550e-03, 6.4680830e-04, 4.1264869e-02, 2.7671203e-06,
5.3738756e-04, 1.8016117e-02, 2.8527065e-03, 2.5489149e-04,
2.1120539e-04, 7.0547912e-06, 5.1251529e-03, 1.7736910e-03,
2.9762161e-06, 1.0033500e-03, 2.3141722e-05, 4.8442569e-05,
1.6143693e-02, 1.2140101e-02, 1.8698856e-03, 1.3245249e-04,
2.1345834e-03, 1.0308880e-04, 6.0362544e-02, 1.5721992e-03,
1.3475301e-04, 3.9441667e-02, 1.0241467e-04, 2.1987094e-02,
4.3851134e-04, 1.4106979e-04, 3.5265144e-03, 9.3625039e-03]],
dtype=float32)
np.argmax(test_image_prediction)
108
car_test_image_details
| Image Name | imagePath | class | height | width | X1 | Y1 | X2 | Y2 | Image class | |
|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 00001.jpg | Dataset/Car Images/Test Images/Suzuki Aerio Se... | Suzuki Aerio Sedan 2007 | 182 | 276 | 30 | 52 | 246 | 147 | 181 |
| 1 | 00002.jpg | Dataset/Car Images/Test Images/Ferrari 458 Ita... | Ferrari 458 Italia Convertible 2012 | 360 | 640 | 100 | 19 | 576 | 203 | 103 |
| 2 | 00003.jpg | Dataset/Car Images/Test Images/Jeep Patriot SU... | Jeep Patriot SUV 2012 | 741 | 1024 | 51 | 105 | 968 | 659 | 145 |
| 3 | 00004.jpg | Dataset/Car Images/Test Images/Toyota Camry Se... | Toyota Camry Sedan 2012 | 480 | 640 | 67 | 84 | 581 | 407 | 187 |
| 4 | 00005.jpg | Dataset/Car Images/Test Images/Tesla Model S S... | Tesla Model S Sedan 2012 | 373 | 600 | 140 | 151 | 593 | 339 | 185 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 8036 | 08037.jpg | Dataset/Car Images/Test Images/Chevrolet Sonic... | Chevrolet Sonic Sedan 2012 | 800 | 1200 | 49 | 57 | 1169 | 669 | 63 |
| 8037 | 08038.jpg | Dataset/Car Images/Test Images/Audi V8 Sedan 1... | Audi V8 Sedan 1994 | 480 | 640 | 23 | 18 | 640 | 459 | 16 |
| 8038 | 08039.jpg | Dataset/Car Images/Test Images/Audi 100 Sedan ... | Audi 100 Sedan 1994 | 303 | 635 | 33 | 27 | 602 | 252 | 17 |
| 8039 | 08040.jpg | Dataset/Car Images/Test Images/BMW Z4 Converti... | BMW Z4 Convertible 2012 | 427 | 640 | 33 | 142 | 521 | 376 | 38 |
| 8040 | 08041.jpg | Dataset/Car Images/Test Images/BMW X5 SUV 2007... | BMW X5 SUV 2007 | 426 | 640 | 77 | 73 | 506 | 380 | 32 |
8041 rows × 10 columns
Here we can see that image class is coming as 108, but actual one is 181. Let us try with some more test images
def predict_image_class(test_path):
image = cv2.imread(test_path)
image = cv2.resize(image, (256,256))
test_image_batch = np.expand_dims(image, axis=0)
test_image_prediction = classification_model.predict(test_image_batch)
return np.argmax(test_image_prediction)
test_path=car_test_image_details.iloc[1,:]['imagePath']
test_image = cv2.imread(test_path)
plt.imshow(test_image)
<matplotlib.image.AxesImage at 0x7fa67d9267f0>
predict_image_class(test_path)
141
car_test_image_details['Predicted_Image_class']= car_test_image_details['imagePath'].apply(lambda x:predict_image_class(x))
car_test_image_details
| Image Name | imagePath | class | height | width | X1 | Y1 | X2 | Y2 | Image class | Predicted_Image_class | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 00001.jpg | Dataset/Car Images/Test Images/Suzuki Aerio Se... | Suzuki Aerio Sedan 2007 | 182 | 276 | 30 | 52 | 246 | 147 | 181 | 108 |
| 1 | 00002.jpg | Dataset/Car Images/Test Images/Ferrari 458 Ita... | Ferrari 458 Italia Convertible 2012 | 360 | 640 | 100 | 19 | 576 | 203 | 103 | 141 |
| 2 | 00003.jpg | Dataset/Car Images/Test Images/Jeep Patriot SU... | Jeep Patriot SUV 2012 | 741 | 1024 | 51 | 105 | 968 | 659 | 145 | 68 |
| 3 | 00004.jpg | Dataset/Car Images/Test Images/Toyota Camry Se... | Toyota Camry Sedan 2012 | 480 | 640 | 67 | 84 | 581 | 407 | 187 | 152 |
| 4 | 00005.jpg | Dataset/Car Images/Test Images/Tesla Model S S... | Tesla Model S Sedan 2012 | 373 | 600 | 140 | 151 | 593 | 339 | 185 | 150 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 8036 | 08037.jpg | Dataset/Car Images/Test Images/Chevrolet Sonic... | Chevrolet Sonic Sedan 2012 | 800 | 1200 | 49 | 57 | 1169 | 669 | 63 | 41 |
| 8037 | 08038.jpg | Dataset/Car Images/Test Images/Audi V8 Sedan 1... | Audi V8 Sedan 1994 | 480 | 640 | 23 | 18 | 640 | 459 | 16 | 92 |
| 8038 | 08039.jpg | Dataset/Car Images/Test Images/Audi 100 Sedan ... | Audi 100 Sedan 1994 | 303 | 635 | 33 | 27 | 602 | 252 | 17 | 69 |
| 8039 | 08040.jpg | Dataset/Car Images/Test Images/BMW Z4 Converti... | BMW Z4 Convertible 2012 | 427 | 640 | 33 | 142 | 521 | 376 | 38 | 20 |
| 8040 | 08041.jpg | Dataset/Car Images/Test Images/BMW X5 SUV 2007... | BMW X5 SUV 2007 | 426 | 640 | 77 | 73 | 506 | 380 | 32 | 187 |
8041 rows × 11 columns
car_test_image_details.iloc[11,:]
Image Name 00012.jpg imagePath Dataset/Car Images/Test Images/Ford Freestar M... class Ford Freestar Minivan 2007 height 194 width 259 X1 14 Y1 21 X2 242 Y2 156 Image class 108 Predicted_Image_class 108 Name: 11, dtype: object
np.where(car_test_image_details['Image class'] == car_test_image_details['Predicted_Image_class'])
(array([ 11, 395, 530, 536, 554, 769, 1108, 1389, 1641, 1780, 1946,
2001, 2005, 2071, 2251, 2318, 2351, 2482, 2504, 3098, 3140, 3141,
3203, 3222, 3286, 3461, 3595, 3679, 3773, 3825, 3833, 4135, 4156,
4199, 4221, 4222, 4256, 4291, 4307, 4467, 4629, 4633, 4935, 5078,
5262, 5335, 5345, 5401, 5483, 5598, 5644, 5882, 6090, 6103, 6112,
6151, 6201, 6248, 6296, 6353, 6381, 6383, 6450, 6561, 6582, 6678,
6736, 6751, 6812, 6828, 7284, 7331, 7391, 7509, 7672, 7705, 7710,
7725, 7726, 7921]),)
We can see that only above rows got predicted correctly. This CNN model is not performing accuratly. We will try with another model now.
from tensorflow.keras.preprocessing import image
from tensorflow.keras.utils import to_categorical
from tensorflow.keras.applications.resnet50 import ResNet50
from tensorflow.keras.layers import BatchNormalization , GlobalAveragePooling2D, Dense, Dropout
from tensorflow.keras.models import Model
from keras.callbacks import EarlyStopping,ModelCheckpoint
image_size = 224
def data_generator(df, batch_size=32):
while True:
image_nums = np.random.randint(0,df.shape[0], size=batch_size)
batch_images = np.zeros(shape=(batch_size, image_size, image_size, 3))
batch_labels = np.zeros(shape=(batch_size, len(num_classes)))
batch_bboxes = np.zeros(shape=(batch_size, 4))
for i in range(batch_size):
#Read and resize image
img = image.load_img(df.loc[image_nums[i], 'imagePath'], target_size=(image_size, image_size))
img_array = image.img_to_array(img)
#Update batch
batch_images[i] = img_array
#convert image classification label to one hot vector
cls_label = df.loc[image_nums[i], 'Image class']
cls_label = to_categorical(cls_label - 1,num_classes=len(num_classes), dtype='float32')
batch_labels[i] = cls_label
#Read and resize bounding box co-ordinates
image_width = df.loc[image_nums[i], 'width']
image_height = df.loc[image_nums[i], 'height']
x1 = data.loc[index[i], 'X1'] * image_size/image_width
x2 = data.loc[index[i], 'X2'] * image_size/image_width
y1 = data.loc[index[i], 'Y1'] * image_size/image_height
y2 = data.loc[index[i], 'Y2'] * image_size/image_height
batch_bboxes[i] = [x1, y1, x2-x1, y2-y1]
#Normalize batch images
for i in range(batch_size):
batch_images[i] = batch_images[i]/255.0
batch_bboxes = batch_bboxes/image_size
#Return batch
yield batch_images, [batch_labels, batch_bboxes]
Build Model
tf.keras.backend.clear_session()
model = ResNet50(include_top=False,input_shape=(image_size, image_size, 3),weights='imagenet')
for layer in model.layers:
layer.trainable = False
model.summary()
Downloading data from https://storage.googleapis.com/tensorflow/keras-applications/resnet/resnet50_weights_tf_dim_ordering_tf_kernels_notop.h5
94773248/94765736 [==============================] - 1s 0us/step
94781440/94765736 [==============================] - 1s 0us/step
Model: "resnet50"
__________________________________________________________________________________________________
Layer (type) Output Shape Param # Connected to
==================================================================================================
input_1 (InputLayer) [(None, 224, 224, 3 0 []
)]
conv1_pad (ZeroPadding2D) (None, 230, 230, 3) 0 ['input_1[0][0]']
conv1_conv (Conv2D) (None, 112, 112, 64 9472 ['conv1_pad[0][0]']
)
conv1_bn (BatchNormalization) (None, 112, 112, 64 256 ['conv1_conv[0][0]']
)
conv1_relu (Activation) (None, 112, 112, 64 0 ['conv1_bn[0][0]']
)
pool1_pad (ZeroPadding2D) (None, 114, 114, 64 0 ['conv1_relu[0][0]']
)
pool1_pool (MaxPooling2D) (None, 56, 56, 64) 0 ['pool1_pad[0][0]']
conv2_block1_1_conv (Conv2D) (None, 56, 56, 64) 4160 ['pool1_pool[0][0]']
conv2_block1_1_bn (BatchNormal (None, 56, 56, 64) 256 ['conv2_block1_1_conv[0][0]']
ization)
conv2_block1_1_relu (Activatio (None, 56, 56, 64) 0 ['conv2_block1_1_bn[0][0]']
n)
conv2_block1_2_conv (Conv2D) (None, 56, 56, 64) 36928 ['conv2_block1_1_relu[0][0]']
conv2_block1_2_bn (BatchNormal (None, 56, 56, 64) 256 ['conv2_block1_2_conv[0][0]']
ization)
conv2_block1_2_relu (Activatio (None, 56, 56, 64) 0 ['conv2_block1_2_bn[0][0]']
n)
conv2_block1_0_conv (Conv2D) (None, 56, 56, 256) 16640 ['pool1_pool[0][0]']
conv2_block1_3_conv (Conv2D) (None, 56, 56, 256) 16640 ['conv2_block1_2_relu[0][0]']
conv2_block1_0_bn (BatchNormal (None, 56, 56, 256) 1024 ['conv2_block1_0_conv[0][0]']
ization)
conv2_block1_3_bn (BatchNormal (None, 56, 56, 256) 1024 ['conv2_block1_3_conv[0][0]']
ization)
conv2_block1_add (Add) (None, 56, 56, 256) 0 ['conv2_block1_0_bn[0][0]',
'conv2_block1_3_bn[0][0]']
conv2_block1_out (Activation) (None, 56, 56, 256) 0 ['conv2_block1_add[0][0]']
conv2_block2_1_conv (Conv2D) (None, 56, 56, 64) 16448 ['conv2_block1_out[0][0]']
conv2_block2_1_bn (BatchNormal (None, 56, 56, 64) 256 ['conv2_block2_1_conv[0][0]']
ization)
conv2_block2_1_relu (Activatio (None, 56, 56, 64) 0 ['conv2_block2_1_bn[0][0]']
n)
conv2_block2_2_conv (Conv2D) (None, 56, 56, 64) 36928 ['conv2_block2_1_relu[0][0]']
conv2_block2_2_bn (BatchNormal (None, 56, 56, 64) 256 ['conv2_block2_2_conv[0][0]']
ization)
conv2_block2_2_relu (Activatio (None, 56, 56, 64) 0 ['conv2_block2_2_bn[0][0]']
n)
conv2_block2_3_conv (Conv2D) (None, 56, 56, 256) 16640 ['conv2_block2_2_relu[0][0]']
conv2_block2_3_bn (BatchNormal (None, 56, 56, 256) 1024 ['conv2_block2_3_conv[0][0]']
ization)
conv2_block2_add (Add) (None, 56, 56, 256) 0 ['conv2_block1_out[0][0]',
'conv2_block2_3_bn[0][0]']
conv2_block2_out (Activation) (None, 56, 56, 256) 0 ['conv2_block2_add[0][0]']
conv2_block3_1_conv (Conv2D) (None, 56, 56, 64) 16448 ['conv2_block2_out[0][0]']
conv2_block3_1_bn (BatchNormal (None, 56, 56, 64) 256 ['conv2_block3_1_conv[0][0]']
ization)
conv2_block3_1_relu (Activatio (None, 56, 56, 64) 0 ['conv2_block3_1_bn[0][0]']
n)
conv2_block3_2_conv (Conv2D) (None, 56, 56, 64) 36928 ['conv2_block3_1_relu[0][0]']
conv2_block3_2_bn (BatchNormal (None, 56, 56, 64) 256 ['conv2_block3_2_conv[0][0]']
ization)
conv2_block3_2_relu (Activatio (None, 56, 56, 64) 0 ['conv2_block3_2_bn[0][0]']
n)
conv2_block3_3_conv (Conv2D) (None, 56, 56, 256) 16640 ['conv2_block3_2_relu[0][0]']
conv2_block3_3_bn (BatchNormal (None, 56, 56, 256) 1024 ['conv2_block3_3_conv[0][0]']
ization)
conv2_block3_add (Add) (None, 56, 56, 256) 0 ['conv2_block2_out[0][0]',
'conv2_block3_3_bn[0][0]']
conv2_block3_out (Activation) (None, 56, 56, 256) 0 ['conv2_block3_add[0][0]']
conv3_block1_1_conv (Conv2D) (None, 28, 28, 128) 32896 ['conv2_block3_out[0][0]']
conv3_block1_1_bn (BatchNormal (None, 28, 28, 128) 512 ['conv3_block1_1_conv[0][0]']
ization)
conv3_block1_1_relu (Activatio (None, 28, 28, 128) 0 ['conv3_block1_1_bn[0][0]']
n)
conv3_block1_2_conv (Conv2D) (None, 28, 28, 128) 147584 ['conv3_block1_1_relu[0][0]']
conv3_block1_2_bn (BatchNormal (None, 28, 28, 128) 512 ['conv3_block1_2_conv[0][0]']
ization)
conv3_block1_2_relu (Activatio (None, 28, 28, 128) 0 ['conv3_block1_2_bn[0][0]']
n)
conv3_block1_0_conv (Conv2D) (None, 28, 28, 512) 131584 ['conv2_block3_out[0][0]']
conv3_block1_3_conv (Conv2D) (None, 28, 28, 512) 66048 ['conv3_block1_2_relu[0][0]']
conv3_block1_0_bn (BatchNormal (None, 28, 28, 512) 2048 ['conv3_block1_0_conv[0][0]']
ization)
conv3_block1_3_bn (BatchNormal (None, 28, 28, 512) 2048 ['conv3_block1_3_conv[0][0]']
ization)
conv3_block1_add (Add) (None, 28, 28, 512) 0 ['conv3_block1_0_bn[0][0]',
'conv3_block1_3_bn[0][0]']
conv3_block1_out (Activation) (None, 28, 28, 512) 0 ['conv3_block1_add[0][0]']
conv3_block2_1_conv (Conv2D) (None, 28, 28, 128) 65664 ['conv3_block1_out[0][0]']
conv3_block2_1_bn (BatchNormal (None, 28, 28, 128) 512 ['conv3_block2_1_conv[0][0]']
ization)
conv3_block2_1_relu (Activatio (None, 28, 28, 128) 0 ['conv3_block2_1_bn[0][0]']
n)
conv3_block2_2_conv (Conv2D) (None, 28, 28, 128) 147584 ['conv3_block2_1_relu[0][0]']
conv3_block2_2_bn (BatchNormal (None, 28, 28, 128) 512 ['conv3_block2_2_conv[0][0]']
ization)
conv3_block2_2_relu (Activatio (None, 28, 28, 128) 0 ['conv3_block2_2_bn[0][0]']
n)
conv3_block2_3_conv (Conv2D) (None, 28, 28, 512) 66048 ['conv3_block2_2_relu[0][0]']
conv3_block2_3_bn (BatchNormal (None, 28, 28, 512) 2048 ['conv3_block2_3_conv[0][0]']
ization)
conv3_block2_add (Add) (None, 28, 28, 512) 0 ['conv3_block1_out[0][0]',
'conv3_block2_3_bn[0][0]']
conv3_block2_out (Activation) (None, 28, 28, 512) 0 ['conv3_block2_add[0][0]']
conv3_block3_1_conv (Conv2D) (None, 28, 28, 128) 65664 ['conv3_block2_out[0][0]']
conv3_block3_1_bn (BatchNormal (None, 28, 28, 128) 512 ['conv3_block3_1_conv[0][0]']
ization)
conv3_block3_1_relu (Activatio (None, 28, 28, 128) 0 ['conv3_block3_1_bn[0][0]']
n)
conv3_block3_2_conv (Conv2D) (None, 28, 28, 128) 147584 ['conv3_block3_1_relu[0][0]']
conv3_block3_2_bn (BatchNormal (None, 28, 28, 128) 512 ['conv3_block3_2_conv[0][0]']
ization)
conv3_block3_2_relu (Activatio (None, 28, 28, 128) 0 ['conv3_block3_2_bn[0][0]']
n)
conv3_block3_3_conv (Conv2D) (None, 28, 28, 512) 66048 ['conv3_block3_2_relu[0][0]']
conv3_block3_3_bn (BatchNormal (None, 28, 28, 512) 2048 ['conv3_block3_3_conv[0][0]']
ization)
conv3_block3_add (Add) (None, 28, 28, 512) 0 ['conv3_block2_out[0][0]',
'conv3_block3_3_bn[0][0]']
conv3_block3_out (Activation) (None, 28, 28, 512) 0 ['conv3_block3_add[0][0]']
conv3_block4_1_conv (Conv2D) (None, 28, 28, 128) 65664 ['conv3_block3_out[0][0]']
conv3_block4_1_bn (BatchNormal (None, 28, 28, 128) 512 ['conv3_block4_1_conv[0][0]']
ization)
conv3_block4_1_relu (Activatio (None, 28, 28, 128) 0 ['conv3_block4_1_bn[0][0]']
n)
conv3_block4_2_conv (Conv2D) (None, 28, 28, 128) 147584 ['conv3_block4_1_relu[0][0]']
conv3_block4_2_bn (BatchNormal (None, 28, 28, 128) 512 ['conv3_block4_2_conv[0][0]']
ization)
conv3_block4_2_relu (Activatio (None, 28, 28, 128) 0 ['conv3_block4_2_bn[0][0]']
n)
conv3_block4_3_conv (Conv2D) (None, 28, 28, 512) 66048 ['conv3_block4_2_relu[0][0]']
conv3_block4_3_bn (BatchNormal (None, 28, 28, 512) 2048 ['conv3_block4_3_conv[0][0]']
ization)
conv3_block4_add (Add) (None, 28, 28, 512) 0 ['conv3_block3_out[0][0]',
'conv3_block4_3_bn[0][0]']
conv3_block4_out (Activation) (None, 28, 28, 512) 0 ['conv3_block4_add[0][0]']
conv4_block1_1_conv (Conv2D) (None, 14, 14, 256) 131328 ['conv3_block4_out[0][0]']
conv4_block1_1_bn (BatchNormal (None, 14, 14, 256) 1024 ['conv4_block1_1_conv[0][0]']
ization)
conv4_block1_1_relu (Activatio (None, 14, 14, 256) 0 ['conv4_block1_1_bn[0][0]']
n)
conv4_block1_2_conv (Conv2D) (None, 14, 14, 256) 590080 ['conv4_block1_1_relu[0][0]']
conv4_block1_2_bn (BatchNormal (None, 14, 14, 256) 1024 ['conv4_block1_2_conv[0][0]']
ization)
conv4_block1_2_relu (Activatio (None, 14, 14, 256) 0 ['conv4_block1_2_bn[0][0]']
n)
conv4_block1_0_conv (Conv2D) (None, 14, 14, 1024 525312 ['conv3_block4_out[0][0]']
)
conv4_block1_3_conv (Conv2D) (None, 14, 14, 1024 263168 ['conv4_block1_2_relu[0][0]']
)
conv4_block1_0_bn (BatchNormal (None, 14, 14, 1024 4096 ['conv4_block1_0_conv[0][0]']
ization) )
conv4_block1_3_bn (BatchNormal (None, 14, 14, 1024 4096 ['conv4_block1_3_conv[0][0]']
ization) )
conv4_block1_add (Add) (None, 14, 14, 1024 0 ['conv4_block1_0_bn[0][0]',
) 'conv4_block1_3_bn[0][0]']
conv4_block1_out (Activation) (None, 14, 14, 1024 0 ['conv4_block1_add[0][0]']
)
conv4_block2_1_conv (Conv2D) (None, 14, 14, 256) 262400 ['conv4_block1_out[0][0]']
conv4_block2_1_bn (BatchNormal (None, 14, 14, 256) 1024 ['conv4_block2_1_conv[0][0]']
ization)
conv4_block2_1_relu (Activatio (None, 14, 14, 256) 0 ['conv4_block2_1_bn[0][0]']
n)
conv4_block2_2_conv (Conv2D) (None, 14, 14, 256) 590080 ['conv4_block2_1_relu[0][0]']
conv4_block2_2_bn (BatchNormal (None, 14, 14, 256) 1024 ['conv4_block2_2_conv[0][0]']
ization)
conv4_block2_2_relu (Activatio (None, 14, 14, 256) 0 ['conv4_block2_2_bn[0][0]']
n)
conv4_block2_3_conv (Conv2D) (None, 14, 14, 1024 263168 ['conv4_block2_2_relu[0][0]']
)
conv4_block2_3_bn (BatchNormal (None, 14, 14, 1024 4096 ['conv4_block2_3_conv[0][0]']
ization) )
conv4_block2_add (Add) (None, 14, 14, 1024 0 ['conv4_block1_out[0][0]',
) 'conv4_block2_3_bn[0][0]']
conv4_block2_out (Activation) (None, 14, 14, 1024 0 ['conv4_block2_add[0][0]']
)
conv4_block3_1_conv (Conv2D) (None, 14, 14, 256) 262400 ['conv4_block2_out[0][0]']
conv4_block3_1_bn (BatchNormal (None, 14, 14, 256) 1024 ['conv4_block3_1_conv[0][0]']
ization)
conv4_block3_1_relu (Activatio (None, 14, 14, 256) 0 ['conv4_block3_1_bn[0][0]']
n)
conv4_block3_2_conv (Conv2D) (None, 14, 14, 256) 590080 ['conv4_block3_1_relu[0][0]']
conv4_block3_2_bn (BatchNormal (None, 14, 14, 256) 1024 ['conv4_block3_2_conv[0][0]']
ization)
conv4_block3_2_relu (Activatio (None, 14, 14, 256) 0 ['conv4_block3_2_bn[0][0]']
n)
conv4_block3_3_conv (Conv2D) (None, 14, 14, 1024 263168 ['conv4_block3_2_relu[0][0]']
)
conv4_block3_3_bn (BatchNormal (None, 14, 14, 1024 4096 ['conv4_block3_3_conv[0][0]']
ization) )
conv4_block3_add (Add) (None, 14, 14, 1024 0 ['conv4_block2_out[0][0]',
) 'conv4_block3_3_bn[0][0]']
conv4_block3_out (Activation) (None, 14, 14, 1024 0 ['conv4_block3_add[0][0]']
)
conv4_block4_1_conv (Conv2D) (None, 14, 14, 256) 262400 ['conv4_block3_out[0][0]']
conv4_block4_1_bn (BatchNormal (None, 14, 14, 256) 1024 ['conv4_block4_1_conv[0][0]']
ization)
conv4_block4_1_relu (Activatio (None, 14, 14, 256) 0 ['conv4_block4_1_bn[0][0]']
n)
conv4_block4_2_conv (Conv2D) (None, 14, 14, 256) 590080 ['conv4_block4_1_relu[0][0]']
conv4_block4_2_bn (BatchNormal (None, 14, 14, 256) 1024 ['conv4_block4_2_conv[0][0]']
ization)
conv4_block4_2_relu (Activatio (None, 14, 14, 256) 0 ['conv4_block4_2_bn[0][0]']
n)
conv4_block4_3_conv (Conv2D) (None, 14, 14, 1024 263168 ['conv4_block4_2_relu[0][0]']
)
conv4_block4_3_bn (BatchNormal (None, 14, 14, 1024 4096 ['conv4_block4_3_conv[0][0]']
ization) )
conv4_block4_add (Add) (None, 14, 14, 1024 0 ['conv4_block3_out[0][0]',
) 'conv4_block4_3_bn[0][0]']
conv4_block4_out (Activation) (None, 14, 14, 1024 0 ['conv4_block4_add[0][0]']
)
conv4_block5_1_conv (Conv2D) (None, 14, 14, 256) 262400 ['conv4_block4_out[0][0]']
conv4_block5_1_bn (BatchNormal (None, 14, 14, 256) 1024 ['conv4_block5_1_conv[0][0]']
ization)
conv4_block5_1_relu (Activatio (None, 14, 14, 256) 0 ['conv4_block5_1_bn[0][0]']
n)
conv4_block5_2_conv (Conv2D) (None, 14, 14, 256) 590080 ['conv4_block5_1_relu[0][0]']
conv4_block5_2_bn (BatchNormal (None, 14, 14, 256) 1024 ['conv4_block5_2_conv[0][0]']
ization)
conv4_block5_2_relu (Activatio (None, 14, 14, 256) 0 ['conv4_block5_2_bn[0][0]']
n)
conv4_block5_3_conv (Conv2D) (None, 14, 14, 1024 263168 ['conv4_block5_2_relu[0][0]']
)
conv4_block5_3_bn (BatchNormal (None, 14, 14, 1024 4096 ['conv4_block5_3_conv[0][0]']
ization) )
conv4_block5_add (Add) (None, 14, 14, 1024 0 ['conv4_block4_out[0][0]',
) 'conv4_block5_3_bn[0][0]']
conv4_block5_out (Activation) (None, 14, 14, 1024 0 ['conv4_block5_add[0][0]']
)
conv4_block6_1_conv (Conv2D) (None, 14, 14, 256) 262400 ['conv4_block5_out[0][0]']
conv4_block6_1_bn (BatchNormal (None, 14, 14, 256) 1024 ['conv4_block6_1_conv[0][0]']
ization)
conv4_block6_1_relu (Activatio (None, 14, 14, 256) 0 ['conv4_block6_1_bn[0][0]']
n)
conv4_block6_2_conv (Conv2D) (None, 14, 14, 256) 590080 ['conv4_block6_1_relu[0][0]']
conv4_block6_2_bn (BatchNormal (None, 14, 14, 256) 1024 ['conv4_block6_2_conv[0][0]']
ization)
conv4_block6_2_relu (Activatio (None, 14, 14, 256) 0 ['conv4_block6_2_bn[0][0]']
n)
conv4_block6_3_conv (Conv2D) (None, 14, 14, 1024 263168 ['conv4_block6_2_relu[0][0]']
)
conv4_block6_3_bn (BatchNormal (None, 14, 14, 1024 4096 ['conv4_block6_3_conv[0][0]']
ization) )
conv4_block6_add (Add) (None, 14, 14, 1024 0 ['conv4_block5_out[0][0]',
) 'conv4_block6_3_bn[0][0]']
conv4_block6_out (Activation) (None, 14, 14, 1024 0 ['conv4_block6_add[0][0]']
)
conv5_block1_1_conv (Conv2D) (None, 7, 7, 512) 524800 ['conv4_block6_out[0][0]']
conv5_block1_1_bn (BatchNormal (None, 7, 7, 512) 2048 ['conv5_block1_1_conv[0][0]']
ization)
conv5_block1_1_relu (Activatio (None, 7, 7, 512) 0 ['conv5_block1_1_bn[0][0]']
n)
conv5_block1_2_conv (Conv2D) (None, 7, 7, 512) 2359808 ['conv5_block1_1_relu[0][0]']
conv5_block1_2_bn (BatchNormal (None, 7, 7, 512) 2048 ['conv5_block1_2_conv[0][0]']
ization)
conv5_block1_2_relu (Activatio (None, 7, 7, 512) 0 ['conv5_block1_2_bn[0][0]']
n)
conv5_block1_0_conv (Conv2D) (None, 7, 7, 2048) 2099200 ['conv4_block6_out[0][0]']
conv5_block1_3_conv (Conv2D) (None, 7, 7, 2048) 1050624 ['conv5_block1_2_relu[0][0]']
conv5_block1_0_bn (BatchNormal (None, 7, 7, 2048) 8192 ['conv5_block1_0_conv[0][0]']
ization)
conv5_block1_3_bn (BatchNormal (None, 7, 7, 2048) 8192 ['conv5_block1_3_conv[0][0]']
ization)
conv5_block1_add (Add) (None, 7, 7, 2048) 0 ['conv5_block1_0_bn[0][0]',
'conv5_block1_3_bn[0][0]']
conv5_block1_out (Activation) (None, 7, 7, 2048) 0 ['conv5_block1_add[0][0]']
conv5_block2_1_conv (Conv2D) (None, 7, 7, 512) 1049088 ['conv5_block1_out[0][0]']
conv5_block2_1_bn (BatchNormal (None, 7, 7, 512) 2048 ['conv5_block2_1_conv[0][0]']
ization)
conv5_block2_1_relu (Activatio (None, 7, 7, 512) 0 ['conv5_block2_1_bn[0][0]']
n)
conv5_block2_2_conv (Conv2D) (None, 7, 7, 512) 2359808 ['conv5_block2_1_relu[0][0]']
conv5_block2_2_bn (BatchNormal (None, 7, 7, 512) 2048 ['conv5_block2_2_conv[0][0]']
ization)
conv5_block2_2_relu (Activatio (None, 7, 7, 512) 0 ['conv5_block2_2_bn[0][0]']
n)
conv5_block2_3_conv (Conv2D) (None, 7, 7, 2048) 1050624 ['conv5_block2_2_relu[0][0]']
conv5_block2_3_bn (BatchNormal (None, 7, 7, 2048) 8192 ['conv5_block2_3_conv[0][0]']
ization)
conv5_block2_add (Add) (None, 7, 7, 2048) 0 ['conv5_block1_out[0][0]',
'conv5_block2_3_bn[0][0]']
conv5_block2_out (Activation) (None, 7, 7, 2048) 0 ['conv5_block2_add[0][0]']
conv5_block3_1_conv (Conv2D) (None, 7, 7, 512) 1049088 ['conv5_block2_out[0][0]']
conv5_block3_1_bn (BatchNormal (None, 7, 7, 512) 2048 ['conv5_block3_1_conv[0][0]']
ization)
conv5_block3_1_relu (Activatio (None, 7, 7, 512) 0 ['conv5_block3_1_bn[0][0]']
n)
conv5_block3_2_conv (Conv2D) (None, 7, 7, 512) 2359808 ['conv5_block3_1_relu[0][0]']
conv5_block3_2_bn (BatchNormal (None, 7, 7, 512) 2048 ['conv5_block3_2_conv[0][0]']
ization)
conv5_block3_2_relu (Activatio (None, 7, 7, 512) 0 ['conv5_block3_2_bn[0][0]']
n)
conv5_block3_3_conv (Conv2D) (None, 7, 7, 2048) 1050624 ['conv5_block3_2_relu[0][0]']
conv5_block3_3_bn (BatchNormal (None, 7, 7, 2048) 8192 ['conv5_block3_3_conv[0][0]']
ization)
conv5_block3_add (Add) (None, 7, 7, 2048) 0 ['conv5_block2_out[0][0]',
'conv5_block3_3_bn[0][0]']
conv5_block3_out (Activation) (None, 7, 7, 2048) 0 ['conv5_block3_add[0][0]']
==================================================================================================
Total params: 23,587,712
Trainable params: 0
Non-trainable params: 23,587,712
__________________________________________________________________________________________________
x = model.output
#Flatten the output to feed to Dense layer
x1 = GlobalAveragePooling2D()(x)
x2 = Dropout(0.5)(x1)
x3 = Dense(200, activation='relu')(x2)
x4 = BatchNormalization()(x3)
#Classification
class_output = Dense(len(num_classes), activation='softmax',name='class')(x4)
#Regression
reg_output = Dense(4,activation='sigmoid',name='reg')(x4)
#with classification and regression
model = Model(inputs=model.input, outputs=[class_output,reg_output])
model.summary()
Model: "model"
__________________________________________________________________________________________________
Layer (type) Output Shape Param # Connected to
==================================================================================================
input_1 (InputLayer) [(None, 224, 224, 3 0 []
)]
conv1_pad (ZeroPadding2D) (None, 230, 230, 3) 0 ['input_1[0][0]']
conv1_conv (Conv2D) (None, 112, 112, 64 9472 ['conv1_pad[0][0]']
)
conv1_bn (BatchNormalization) (None, 112, 112, 64 256 ['conv1_conv[0][0]']
)
conv1_relu (Activation) (None, 112, 112, 64 0 ['conv1_bn[0][0]']
)
pool1_pad (ZeroPadding2D) (None, 114, 114, 64 0 ['conv1_relu[0][0]']
)
pool1_pool (MaxPooling2D) (None, 56, 56, 64) 0 ['pool1_pad[0][0]']
conv2_block1_1_conv (Conv2D) (None, 56, 56, 64) 4160 ['pool1_pool[0][0]']
conv2_block1_1_bn (BatchNormal (None, 56, 56, 64) 256 ['conv2_block1_1_conv[0][0]']
ization)
conv2_block1_1_relu (Activatio (None, 56, 56, 64) 0 ['conv2_block1_1_bn[0][0]']
n)
conv2_block1_2_conv (Conv2D) (None, 56, 56, 64) 36928 ['conv2_block1_1_relu[0][0]']
conv2_block1_2_bn (BatchNormal (None, 56, 56, 64) 256 ['conv2_block1_2_conv[0][0]']
ization)
conv2_block1_2_relu (Activatio (None, 56, 56, 64) 0 ['conv2_block1_2_bn[0][0]']
n)
conv2_block1_0_conv (Conv2D) (None, 56, 56, 256) 16640 ['pool1_pool[0][0]']
conv2_block1_3_conv (Conv2D) (None, 56, 56, 256) 16640 ['conv2_block1_2_relu[0][0]']
conv2_block1_0_bn (BatchNormal (None, 56, 56, 256) 1024 ['conv2_block1_0_conv[0][0]']
ization)
conv2_block1_3_bn (BatchNormal (None, 56, 56, 256) 1024 ['conv2_block1_3_conv[0][0]']
ization)
conv2_block1_add (Add) (None, 56, 56, 256) 0 ['conv2_block1_0_bn[0][0]',
'conv2_block1_3_bn[0][0]']
conv2_block1_out (Activation) (None, 56, 56, 256) 0 ['conv2_block1_add[0][0]']
conv2_block2_1_conv (Conv2D) (None, 56, 56, 64) 16448 ['conv2_block1_out[0][0]']
conv2_block2_1_bn (BatchNormal (None, 56, 56, 64) 256 ['conv2_block2_1_conv[0][0]']
ization)
conv2_block2_1_relu (Activatio (None, 56, 56, 64) 0 ['conv2_block2_1_bn[0][0]']
n)
conv2_block2_2_conv (Conv2D) (None, 56, 56, 64) 36928 ['conv2_block2_1_relu[0][0]']
conv2_block2_2_bn (BatchNormal (None, 56, 56, 64) 256 ['conv2_block2_2_conv[0][0]']
ization)
conv2_block2_2_relu (Activatio (None, 56, 56, 64) 0 ['conv2_block2_2_bn[0][0]']
n)
conv2_block2_3_conv (Conv2D) (None, 56, 56, 256) 16640 ['conv2_block2_2_relu[0][0]']
conv2_block2_3_bn (BatchNormal (None, 56, 56, 256) 1024 ['conv2_block2_3_conv[0][0]']
ization)
conv2_block2_add (Add) (None, 56, 56, 256) 0 ['conv2_block1_out[0][0]',
'conv2_block2_3_bn[0][0]']
conv2_block2_out (Activation) (None, 56, 56, 256) 0 ['conv2_block2_add[0][0]']
conv2_block3_1_conv (Conv2D) (None, 56, 56, 64) 16448 ['conv2_block2_out[0][0]']
conv2_block3_1_bn (BatchNormal (None, 56, 56, 64) 256 ['conv2_block3_1_conv[0][0]']
ization)
conv2_block3_1_relu (Activatio (None, 56, 56, 64) 0 ['conv2_block3_1_bn[0][0]']
n)
conv2_block3_2_conv (Conv2D) (None, 56, 56, 64) 36928 ['conv2_block3_1_relu[0][0]']
conv2_block3_2_bn (BatchNormal (None, 56, 56, 64) 256 ['conv2_block3_2_conv[0][0]']
ization)
conv2_block3_2_relu (Activatio (None, 56, 56, 64) 0 ['conv2_block3_2_bn[0][0]']
n)
conv2_block3_3_conv (Conv2D) (None, 56, 56, 256) 16640 ['conv2_block3_2_relu[0][0]']
conv2_block3_3_bn (BatchNormal (None, 56, 56, 256) 1024 ['conv2_block3_3_conv[0][0]']
ization)
conv2_block3_add (Add) (None, 56, 56, 256) 0 ['conv2_block2_out[0][0]',
'conv2_block3_3_bn[0][0]']
conv2_block3_out (Activation) (None, 56, 56, 256) 0 ['conv2_block3_add[0][0]']
conv3_block1_1_conv (Conv2D) (None, 28, 28, 128) 32896 ['conv2_block3_out[0][0]']
conv3_block1_1_bn (BatchNormal (None, 28, 28, 128) 512 ['conv3_block1_1_conv[0][0]']
ization)
conv3_block1_1_relu (Activatio (None, 28, 28, 128) 0 ['conv3_block1_1_bn[0][0]']
n)
conv3_block1_2_conv (Conv2D) (None, 28, 28, 128) 147584 ['conv3_block1_1_relu[0][0]']
conv3_block1_2_bn (BatchNormal (None, 28, 28, 128) 512 ['conv3_block1_2_conv[0][0]']
ization)
conv3_block1_2_relu (Activatio (None, 28, 28, 128) 0 ['conv3_block1_2_bn[0][0]']
n)
conv3_block1_0_conv (Conv2D) (None, 28, 28, 512) 131584 ['conv2_block3_out[0][0]']
conv3_block1_3_conv (Conv2D) (None, 28, 28, 512) 66048 ['conv3_block1_2_relu[0][0]']
conv3_block1_0_bn (BatchNormal (None, 28, 28, 512) 2048 ['conv3_block1_0_conv[0][0]']
ization)
conv3_block1_3_bn (BatchNormal (None, 28, 28, 512) 2048 ['conv3_block1_3_conv[0][0]']
ization)
conv3_block1_add (Add) (None, 28, 28, 512) 0 ['conv3_block1_0_bn[0][0]',
'conv3_block1_3_bn[0][0]']
conv3_block1_out (Activation) (None, 28, 28, 512) 0 ['conv3_block1_add[0][0]']
conv3_block2_1_conv (Conv2D) (None, 28, 28, 128) 65664 ['conv3_block1_out[0][0]']
conv3_block2_1_bn (BatchNormal (None, 28, 28, 128) 512 ['conv3_block2_1_conv[0][0]']
ization)
conv3_block2_1_relu (Activatio (None, 28, 28, 128) 0 ['conv3_block2_1_bn[0][0]']
n)
conv3_block2_2_conv (Conv2D) (None, 28, 28, 128) 147584 ['conv3_block2_1_relu[0][0]']
conv3_block2_2_bn (BatchNormal (None, 28, 28, 128) 512 ['conv3_block2_2_conv[0][0]']
ization)
conv3_block2_2_relu (Activatio (None, 28, 28, 128) 0 ['conv3_block2_2_bn[0][0]']
n)
conv3_block2_3_conv (Conv2D) (None, 28, 28, 512) 66048 ['conv3_block2_2_relu[0][0]']
conv3_block2_3_bn (BatchNormal (None, 28, 28, 512) 2048 ['conv3_block2_3_conv[0][0]']
ization)
conv3_block2_add (Add) (None, 28, 28, 512) 0 ['conv3_block1_out[0][0]',
'conv3_block2_3_bn[0][0]']
conv3_block2_out (Activation) (None, 28, 28, 512) 0 ['conv3_block2_add[0][0]']
conv3_block3_1_conv (Conv2D) (None, 28, 28, 128) 65664 ['conv3_block2_out[0][0]']
conv3_block3_1_bn (BatchNormal (None, 28, 28, 128) 512 ['conv3_block3_1_conv[0][0]']
ization)
conv3_block3_1_relu (Activatio (None, 28, 28, 128) 0 ['conv3_block3_1_bn[0][0]']
n)
conv3_block3_2_conv (Conv2D) (None, 28, 28, 128) 147584 ['conv3_block3_1_relu[0][0]']
conv3_block3_2_bn (BatchNormal (None, 28, 28, 128) 512 ['conv3_block3_2_conv[0][0]']
ization)
conv3_block3_2_relu (Activatio (None, 28, 28, 128) 0 ['conv3_block3_2_bn[0][0]']
n)
conv3_block3_3_conv (Conv2D) (None, 28, 28, 512) 66048 ['conv3_block3_2_relu[0][0]']
conv3_block3_3_bn (BatchNormal (None, 28, 28, 512) 2048 ['conv3_block3_3_conv[0][0]']
ization)
conv3_block3_add (Add) (None, 28, 28, 512) 0 ['conv3_block2_out[0][0]',
'conv3_block3_3_bn[0][0]']
conv3_block3_out (Activation) (None, 28, 28, 512) 0 ['conv3_block3_add[0][0]']
conv3_block4_1_conv (Conv2D) (None, 28, 28, 128) 65664 ['conv3_block3_out[0][0]']
conv3_block4_1_bn (BatchNormal (None, 28, 28, 128) 512 ['conv3_block4_1_conv[0][0]']
ization)
conv3_block4_1_relu (Activatio (None, 28, 28, 128) 0 ['conv3_block4_1_bn[0][0]']
n)
conv3_block4_2_conv (Conv2D) (None, 28, 28, 128) 147584 ['conv3_block4_1_relu[0][0]']
conv3_block4_2_bn (BatchNormal (None, 28, 28, 128) 512 ['conv3_block4_2_conv[0][0]']
ization)
conv3_block4_2_relu (Activatio (None, 28, 28, 128) 0 ['conv3_block4_2_bn[0][0]']
n)
conv3_block4_3_conv (Conv2D) (None, 28, 28, 512) 66048 ['conv3_block4_2_relu[0][0]']
conv3_block4_3_bn (BatchNormal (None, 28, 28, 512) 2048 ['conv3_block4_3_conv[0][0]']
ization)
conv3_block4_add (Add) (None, 28, 28, 512) 0 ['conv3_block3_out[0][0]',
'conv3_block4_3_bn[0][0]']
conv3_block4_out (Activation) (None, 28, 28, 512) 0 ['conv3_block4_add[0][0]']
conv4_block1_1_conv (Conv2D) (None, 14, 14, 256) 131328 ['conv3_block4_out[0][0]']
conv4_block1_1_bn (BatchNormal (None, 14, 14, 256) 1024 ['conv4_block1_1_conv[0][0]']
ization)
conv4_block1_1_relu (Activatio (None, 14, 14, 256) 0 ['conv4_block1_1_bn[0][0]']
n)
conv4_block1_2_conv (Conv2D) (None, 14, 14, 256) 590080 ['conv4_block1_1_relu[0][0]']
conv4_block1_2_bn (BatchNormal (None, 14, 14, 256) 1024 ['conv4_block1_2_conv[0][0]']
ization)
conv4_block1_2_relu (Activatio (None, 14, 14, 256) 0 ['conv4_block1_2_bn[0][0]']
n)
conv4_block1_0_conv (Conv2D) (None, 14, 14, 1024 525312 ['conv3_block4_out[0][0]']
)
conv4_block1_3_conv (Conv2D) (None, 14, 14, 1024 263168 ['conv4_block1_2_relu[0][0]']
)
conv4_block1_0_bn (BatchNormal (None, 14, 14, 1024 4096 ['conv4_block1_0_conv[0][0]']
ization) )
conv4_block1_3_bn (BatchNormal (None, 14, 14, 1024 4096 ['conv4_block1_3_conv[0][0]']
ization) )
conv4_block1_add (Add) (None, 14, 14, 1024 0 ['conv4_block1_0_bn[0][0]',
) 'conv4_block1_3_bn[0][0]']
conv4_block1_out (Activation) (None, 14, 14, 1024 0 ['conv4_block1_add[0][0]']
)
conv4_block2_1_conv (Conv2D) (None, 14, 14, 256) 262400 ['conv4_block1_out[0][0]']
conv4_block2_1_bn (BatchNormal (None, 14, 14, 256) 1024 ['conv4_block2_1_conv[0][0]']
ization)
conv4_block2_1_relu (Activatio (None, 14, 14, 256) 0 ['conv4_block2_1_bn[0][0]']
n)
conv4_block2_2_conv (Conv2D) (None, 14, 14, 256) 590080 ['conv4_block2_1_relu[0][0]']
conv4_block2_2_bn (BatchNormal (None, 14, 14, 256) 1024 ['conv4_block2_2_conv[0][0]']
ization)
conv4_block2_2_relu (Activatio (None, 14, 14, 256) 0 ['conv4_block2_2_bn[0][0]']
n)
conv4_block2_3_conv (Conv2D) (None, 14, 14, 1024 263168 ['conv4_block2_2_relu[0][0]']
)
conv4_block2_3_bn (BatchNormal (None, 14, 14, 1024 4096 ['conv4_block2_3_conv[0][0]']
ization) )
conv4_block2_add (Add) (None, 14, 14, 1024 0 ['conv4_block1_out[0][0]',
) 'conv4_block2_3_bn[0][0]']
conv4_block2_out (Activation) (None, 14, 14, 1024 0 ['conv4_block2_add[0][0]']
)
conv4_block3_1_conv (Conv2D) (None, 14, 14, 256) 262400 ['conv4_block2_out[0][0]']
conv4_block3_1_bn (BatchNormal (None, 14, 14, 256) 1024 ['conv4_block3_1_conv[0][0]']
ization)
conv4_block3_1_relu (Activatio (None, 14, 14, 256) 0 ['conv4_block3_1_bn[0][0]']
n)
conv4_block3_2_conv (Conv2D) (None, 14, 14, 256) 590080 ['conv4_block3_1_relu[0][0]']
conv4_block3_2_bn (BatchNormal (None, 14, 14, 256) 1024 ['conv4_block3_2_conv[0][0]']
ization)
conv4_block3_2_relu (Activatio (None, 14, 14, 256) 0 ['conv4_block3_2_bn[0][0]']
n)
conv4_block3_3_conv (Conv2D) (None, 14, 14, 1024 263168 ['conv4_block3_2_relu[0][0]']
)
conv4_block3_3_bn (BatchNormal (None, 14, 14, 1024 4096 ['conv4_block3_3_conv[0][0]']
ization) )
conv4_block3_add (Add) (None, 14, 14, 1024 0 ['conv4_block2_out[0][0]',
) 'conv4_block3_3_bn[0][0]']
conv4_block3_out (Activation) (None, 14, 14, 1024 0 ['conv4_block3_add[0][0]']
)
conv4_block4_1_conv (Conv2D) (None, 14, 14, 256) 262400 ['conv4_block3_out[0][0]']
conv4_block4_1_bn (BatchNormal (None, 14, 14, 256) 1024 ['conv4_block4_1_conv[0][0]']
ization)
conv4_block4_1_relu (Activatio (None, 14, 14, 256) 0 ['conv4_block4_1_bn[0][0]']
n)
conv4_block4_2_conv (Conv2D) (None, 14, 14, 256) 590080 ['conv4_block4_1_relu[0][0]']
conv4_block4_2_bn (BatchNormal (None, 14, 14, 256) 1024 ['conv4_block4_2_conv[0][0]']
ization)
conv4_block4_2_relu (Activatio (None, 14, 14, 256) 0 ['conv4_block4_2_bn[0][0]']
n)
conv4_block4_3_conv (Conv2D) (None, 14, 14, 1024 263168 ['conv4_block4_2_relu[0][0]']
)
conv4_block4_3_bn (BatchNormal (None, 14, 14, 1024 4096 ['conv4_block4_3_conv[0][0]']
ization) )
conv4_block4_add (Add) (None, 14, 14, 1024 0 ['conv4_block3_out[0][0]',
) 'conv4_block4_3_bn[0][0]']
conv4_block4_out (Activation) (None, 14, 14, 1024 0 ['conv4_block4_add[0][0]']
)
conv4_block5_1_conv (Conv2D) (None, 14, 14, 256) 262400 ['conv4_block4_out[0][0]']
conv4_block5_1_bn (BatchNormal (None, 14, 14, 256) 1024 ['conv4_block5_1_conv[0][0]']
ization)
conv4_block5_1_relu (Activatio (None, 14, 14, 256) 0 ['conv4_block5_1_bn[0][0]']
n)
conv4_block5_2_conv (Conv2D) (None, 14, 14, 256) 590080 ['conv4_block5_1_relu[0][0]']
conv4_block5_2_bn (BatchNormal (None, 14, 14, 256) 1024 ['conv4_block5_2_conv[0][0]']
ization)
conv4_block5_2_relu (Activatio (None, 14, 14, 256) 0 ['conv4_block5_2_bn[0][0]']
n)
conv4_block5_3_conv (Conv2D) (None, 14, 14, 1024 263168 ['conv4_block5_2_relu[0][0]']
)
conv4_block5_3_bn (BatchNormal (None, 14, 14, 1024 4096 ['conv4_block5_3_conv[0][0]']
ization) )
conv4_block5_add (Add) (None, 14, 14, 1024 0 ['conv4_block4_out[0][0]',
) 'conv4_block5_3_bn[0][0]']
conv4_block5_out (Activation) (None, 14, 14, 1024 0 ['conv4_block5_add[0][0]']
)
conv4_block6_1_conv (Conv2D) (None, 14, 14, 256) 262400 ['conv4_block5_out[0][0]']
conv4_block6_1_bn (BatchNormal (None, 14, 14, 256) 1024 ['conv4_block6_1_conv[0][0]']
ization)
conv4_block6_1_relu (Activatio (None, 14, 14, 256) 0 ['conv4_block6_1_bn[0][0]']
n)
conv4_block6_2_conv (Conv2D) (None, 14, 14, 256) 590080 ['conv4_block6_1_relu[0][0]']
conv4_block6_2_bn (BatchNormal (None, 14, 14, 256) 1024 ['conv4_block6_2_conv[0][0]']
ization)
conv4_block6_2_relu (Activatio (None, 14, 14, 256) 0 ['conv4_block6_2_bn[0][0]']
n)
conv4_block6_3_conv (Conv2D) (None, 14, 14, 1024 263168 ['conv4_block6_2_relu[0][0]']
)
conv4_block6_3_bn (BatchNormal (None, 14, 14, 1024 4096 ['conv4_block6_3_conv[0][0]']
ization) )
conv4_block6_add (Add) (None, 14, 14, 1024 0 ['conv4_block5_out[0][0]',
) 'conv4_block6_3_bn[0][0]']
conv4_block6_out (Activation) (None, 14, 14, 1024 0 ['conv4_block6_add[0][0]']
)
conv5_block1_1_conv (Conv2D) (None, 7, 7, 512) 524800 ['conv4_block6_out[0][0]']
conv5_block1_1_bn (BatchNormal (None, 7, 7, 512) 2048 ['conv5_block1_1_conv[0][0]']
ization)
conv5_block1_1_relu (Activatio (None, 7, 7, 512) 0 ['conv5_block1_1_bn[0][0]']
n)
conv5_block1_2_conv (Conv2D) (None, 7, 7, 512) 2359808 ['conv5_block1_1_relu[0][0]']
conv5_block1_2_bn (BatchNormal (None, 7, 7, 512) 2048 ['conv5_block1_2_conv[0][0]']
ization)
conv5_block1_2_relu (Activatio (None, 7, 7, 512) 0 ['conv5_block1_2_bn[0][0]']
n)
conv5_block1_0_conv (Conv2D) (None, 7, 7, 2048) 2099200 ['conv4_block6_out[0][0]']
conv5_block1_3_conv (Conv2D) (None, 7, 7, 2048) 1050624 ['conv5_block1_2_relu[0][0]']
conv5_block1_0_bn (BatchNormal (None, 7, 7, 2048) 8192 ['conv5_block1_0_conv[0][0]']
ization)
conv5_block1_3_bn (BatchNormal (None, 7, 7, 2048) 8192 ['conv5_block1_3_conv[0][0]']
ization)
conv5_block1_add (Add) (None, 7, 7, 2048) 0 ['conv5_block1_0_bn[0][0]',
'conv5_block1_3_bn[0][0]']
conv5_block1_out (Activation) (None, 7, 7, 2048) 0 ['conv5_block1_add[0][0]']
conv5_block2_1_conv (Conv2D) (None, 7, 7, 512) 1049088 ['conv5_block1_out[0][0]']
conv5_block2_1_bn (BatchNormal (None, 7, 7, 512) 2048 ['conv5_block2_1_conv[0][0]']
ization)
conv5_block2_1_relu (Activatio (None, 7, 7, 512) 0 ['conv5_block2_1_bn[0][0]']
n)
conv5_block2_2_conv (Conv2D) (None, 7, 7, 512) 2359808 ['conv5_block2_1_relu[0][0]']
conv5_block2_2_bn (BatchNormal (None, 7, 7, 512) 2048 ['conv5_block2_2_conv[0][0]']
ization)
conv5_block2_2_relu (Activatio (None, 7, 7, 512) 0 ['conv5_block2_2_bn[0][0]']
n)
conv5_block2_3_conv (Conv2D) (None, 7, 7, 2048) 1050624 ['conv5_block2_2_relu[0][0]']
conv5_block2_3_bn (BatchNormal (None, 7, 7, 2048) 8192 ['conv5_block2_3_conv[0][0]']
ization)
conv5_block2_add (Add) (None, 7, 7, 2048) 0 ['conv5_block1_out[0][0]',
'conv5_block2_3_bn[0][0]']
conv5_block2_out (Activation) (None, 7, 7, 2048) 0 ['conv5_block2_add[0][0]']
conv5_block3_1_conv (Conv2D) (None, 7, 7, 512) 1049088 ['conv5_block2_out[0][0]']
conv5_block3_1_bn (BatchNormal (None, 7, 7, 512) 2048 ['conv5_block3_1_conv[0][0]']
ization)
conv5_block3_1_relu (Activatio (None, 7, 7, 512) 0 ['conv5_block3_1_bn[0][0]']
n)
conv5_block3_2_conv (Conv2D) (None, 7, 7, 512) 2359808 ['conv5_block3_1_relu[0][0]']
conv5_block3_2_bn (BatchNormal (None, 7, 7, 512) 2048 ['conv5_block3_2_conv[0][0]']
ization)
conv5_block3_2_relu (Activatio (None, 7, 7, 512) 0 ['conv5_block3_2_bn[0][0]']
n)
conv5_block3_3_conv (Conv2D) (None, 7, 7, 2048) 1050624 ['conv5_block3_2_relu[0][0]']
conv5_block3_3_bn (BatchNormal (None, 7, 7, 2048) 8192 ['conv5_block3_3_conv[0][0]']
ization)
conv5_block3_add (Add) (None, 7, 7, 2048) 0 ['conv5_block2_out[0][0]',
'conv5_block3_3_bn[0][0]']
conv5_block3_out (Activation) (None, 7, 7, 2048) 0 ['conv5_block3_add[0][0]']
global_average_pooling2d (Glob (None, 2048) 0 ['conv5_block3_out[0][0]']
alAveragePooling2D)
dropout (Dropout) (None, 2048) 0 ['global_average_pooling2d[0][0]'
]
dense (Dense) (None, 200) 409800 ['dropout[0][0]']
batch_normalization (BatchNorm (None, 200) 800 ['dense[0][0]']
alization)
class (Dense) (None, 196) 39396 ['batch_normalization[0][0]']
reg (Dense) (None, 4) 804 ['batch_normalization[0][0]']
==================================================================================================
Total params: 24,038,512
Trainable params: 450,400
Non-trainable params: 23,588,112
__________________________________________________________________________________________________
Evaluation Metric IOU
def calculate_iou(y_true, y_pred):
results = []
for i in range(0,y_true.shape[0]):
# set the types so we are sure what type we are using
y_true = np.array(y_true, dtype=np.float32)
y_pred = np.array(y_pred, dtype=np.float32)
x_boxTrue_tleft = y_true[i,0] # numpy index selection
y_boxTrue_tleft = y_true[i,1]
boxTrue_width = y_true[i,2]
boxTrue_height = y_true[i,3]
area_boxTrue = (boxTrue_width * boxTrue_height)
# boxPred
x_boxPred_tleft = y_pred[i,0]
y_boxPred_tleft = y_pred[i,1]
boxPred_width = y_pred[i,2]
boxPred_height = y_pred[i,3]
area_boxPred = (boxPred_width * boxPred_height)
# calculate the bottom right coordinates for boxTrue and boxPred
# boxTrue
x_boxTrue_br = x_boxTrue_tleft + boxTrue_width
y_boxTrue_br = y_boxTrue_tleft + boxTrue_height # Version 2 revision
# boxPred
x_boxPred_br = x_boxPred_tleft + boxPred_width
y_boxPred_br = y_boxPred_tleft + boxPred_height # Version 2 revision
# calculate the top left and bottom right coordinates for the intersection box, boxInt
# boxInt - top left coords
x_boxInt_tleft = np.max([x_boxTrue_tleft,x_boxPred_tleft])
y_boxInt_tleft = np.max([y_boxTrue_tleft,y_boxPred_tleft]) # Version 2 revision
# boxInt - bottom right coords
x_boxInt_br = np.min([x_boxTrue_br,x_boxPred_br])
y_boxInt_br = np.min([y_boxTrue_br,y_boxPred_br])
# Calculate the area of boxInt, i.e. the area of the intersection
# between boxTrue and boxPred.
# The np.max() function forces the intersection area to 0 if the boxes don't overlap.
area_of_intersection = \
np.max([0,(x_boxInt_br - x_boxInt_tleft)]) * np.max([0,(y_boxInt_br - y_boxInt_tleft)])
iou = area_of_intersection / ((area_boxTrue + area_boxPred) - area_of_intersection)
# This must match the type used in py_func
iou = np.array(iou, dtype=np.float32)
# append the result to a list at the end of each loop
results.append(iou)
# return the mean IoU score for the batch
return np.mean(results)
def IoU(y_true, y_pred):
iou = tf.py_function(calculate_iou, [y_true, y_pred], tf.float32)
return iou
# Compile the model
model.compile(optimizer = 'adam', loss={'reg':'mse', 'class':'categorical_crossentropy'},
loss_weights={'reg':1, 'class':1},
metrics={'reg':[IoU], 'class':['accuracy']})
#Create train and test generator
batchsize = 224
train_generator = data_generator(car_train_image_details, batch_size=batchsize)
test_generator = data_generator(car_test_image_details, batch_size=batchsize)
earlystop = EarlyStopping(patience=5)
modelsave = ModelCheckpoint( monitor='val_class_accuracy',filepath='./model_resnet.h5', save_best_only=True, verbose=1)
history = model.fit(train_generator,
epochs=5,
steps_per_epoch= car_train_image_details.shape[0]//batchsize,
validation_data=test_generator,
validation_steps = car_test_image_details.shape[0]//batchsize,
callbacks=[earlystop,modelsave])
Epoch 1/5 36/36 [==============================] - ETA: 0s - loss: 5.7279 - class_loss: 5.6010 - reg_loss: 0.1270 - class_accuracy: 0.0058 - reg_IoU: 0.1890 Epoch 00001: val_class_accuracy improved from -inf to 0.00523, saving model to ./model_resnet.h5 36/36 [==============================] - 2603s 74s/step - loss: 5.7279 - class_loss: 5.6010 - reg_loss: 0.1270 - class_accuracy: 0.0058 - reg_IoU: 0.1890 - val_loss: 5.4432 - val_class_loss: 5.3927 - val_reg_loss: 0.0505 - val_class_accuracy: 0.0052 - val_reg_IoU: 0.3780 Epoch 2/5 36/36 [==============================] - ETA: 0s - loss: 5.5180 - class_loss: 5.4450 - reg_loss: 0.0730 - class_accuracy: 0.0051 - reg_IoU: 0.3229 Epoch 00002: val_class_accuracy improved from 0.00523 to 0.00702, saving model to ./model_resnet.h5 36/36 [==============================] - 1066s 30s/step - loss: 5.5180 - class_loss: 5.4450 - reg_loss: 0.0730 - class_accuracy: 0.0051 - reg_IoU: 0.3229 - val_loss: 5.3972 - val_class_loss: 5.3683 - val_reg_loss: 0.0289 - val_class_accuracy: 0.0070 - val_reg_IoU: 0.5137 Epoch 3/5 36/36 [==============================] - ETA: 0s - loss: 5.4074 - class_loss: 5.3711 - reg_loss: 0.0363 - class_accuracy: 0.0074 - reg_IoU: 0.4791 Epoch 00003: val_class_accuracy did not improve from 0.00702 36/36 [==============================] - 463s 13s/step - loss: 5.4074 - class_loss: 5.3711 - reg_loss: 0.0363 - class_accuracy: 0.0074 - reg_IoU: 0.4791 - val_loss: 5.3627 - val_class_loss: 5.3462 - val_reg_loss: 0.0164 - val_class_accuracy: 0.0051 - val_reg_IoU: 0.6281 Epoch 4/5 36/36 [==============================] - ETA: 0s - loss: 5.3511 - class_loss: 5.3308 - reg_loss: 0.0203 - class_accuracy: 0.0088 - reg_IoU: 0.5978 Epoch 00004: val_class_accuracy improved from 0.00702 to 0.00740, saving model to ./model_resnet.h5 36/36 [==============================] - 272s 8s/step - loss: 5.3511 - class_loss: 5.3308 - reg_loss: 0.0203 - class_accuracy: 0.0088 - reg_IoU: 0.5978 - val_loss: 5.3420 - val_class_loss: 5.3285 - val_reg_loss: 0.0135 - val_class_accuracy: 0.0074 - val_reg_IoU: 0.6869 Epoch 5/5 36/36 [==============================] - ETA: 0s - loss: 5.3102 - class_loss: 5.2940 - reg_loss: 0.0162 - class_accuracy: 0.0105 - reg_IoU: 0.6493 Epoch 00005: val_class_accuracy improved from 0.00740 to 0.01161, saving model to ./model_resnet.h5 36/36 [==============================] - 206s 6s/step - loss: 5.3102 - class_loss: 5.2940 - reg_loss: 0.0162 - class_accuracy: 0.0105 - reg_IoU: 0.6493 - val_loss: 5.3304 - val_class_loss: 5.3160 - val_reg_loss: 0.0145 - val_class_accuracy: 0.0116 - val_reg_IoU: 0.6970
5.2954/0.0166
319.0
# Compile the model
model.compile(optimizer = 'adam', loss={'reg':'mse', 'class':'categorical_crossentropy'},
loss_weights={'reg':30, 'class':1},
metrics={'reg':[IoU], 'class':['accuracy']})
history=model.fit(train_generator,
epochs=50,
initial_epoch =5,
steps_per_epoch= car_train_image_details.shape[0]//batchsize,
validation_data=test_generator,
validation_steps = car_train_image_details.shape[0]//batchsize,
callbacks=[earlystop,modelsave])
Epoch 6/50 36/36 [==============================] - ETA: 0s - loss: 5.6959 - class_loss: 5.2799 - reg_loss: 0.0139 - class_accuracy: 0.0097 - reg_IoU: 0.6926 Epoch 00006: val_class_accuracy did not improve from 0.01161 36/36 [==============================] - 187s 5s/step - loss: 5.6959 - class_loss: 5.2799 - reg_loss: 0.0139 - class_accuracy: 0.0097 - reg_IoU: 0.6926 - val_loss: 5.7134 - val_class_loss: 5.2999 - val_reg_loss: 0.0138 - val_class_accuracy: 0.0097 - val_reg_IoU: 0.6969 Epoch 7/50 36/36 [==============================] - ETA: 0s - loss: 5.6224 - class_loss: 5.2514 - reg_loss: 0.0124 - class_accuracy: 0.0113 - reg_IoU: 0.7118 Epoch 00007: val_class_accuracy did not improve from 0.01161 36/36 [==============================] - 168s 5s/step - loss: 5.6224 - class_loss: 5.2514 - reg_loss: 0.0124 - class_accuracy: 0.0113 - reg_IoU: 0.7118 - val_loss: 5.5889 - val_class_loss: 5.2727 - val_reg_loss: 0.0105 - val_class_accuracy: 0.0071 - val_reg_IoU: 0.7197 Epoch 8/50 36/36 [==============================] - ETA: 0s - loss: 5.5791 - class_loss: 5.2157 - reg_loss: 0.0121 - class_accuracy: 0.0125 - reg_IoU: 0.7189 Epoch 00008: val_class_accuracy improved from 0.01161 to 0.01505, saving model to ./model_resnet.h5 36/36 [==============================] - 166s 5s/step - loss: 5.5791 - class_loss: 5.2157 - reg_loss: 0.0121 - class_accuracy: 0.0125 - reg_IoU: 0.7189 - val_loss: 5.5815 - val_class_loss: 5.2421 - val_reg_loss: 0.0113 - val_class_accuracy: 0.0151 - val_reg_IoU: 0.7421 Epoch 9/50 36/36 [==============================] - ETA: 0s - loss: 5.5720 - class_loss: 5.2193 - reg_loss: 0.0118 - class_accuracy: 0.0136 - reg_IoU: 0.7210 Epoch 00009: val_class_accuracy improved from 0.01505 to 0.01518, saving model to ./model_resnet.h5 36/36 [==============================] - 168s 5s/step - loss: 5.5720 - class_loss: 5.2193 - reg_loss: 0.0118 - class_accuracy: 0.0136 - reg_IoU: 0.7210 - val_loss: 5.5171 - val_class_loss: 5.2038 - val_reg_loss: 0.0104 - val_class_accuracy: 0.0152 - val_reg_IoU: 0.7495 Epoch 10/50 36/36 [==============================] - ETA: 0s - loss: 5.5360 - class_loss: 5.1912 - reg_loss: 0.0115 - class_accuracy: 0.0161 - reg_IoU: 0.7236 Epoch 00010: val_class_accuracy improved from 0.01518 to 0.01709, saving model to ./model_resnet.h5 36/36 [==============================] - 169s 5s/step - loss: 5.5360 - class_loss: 5.1912 - reg_loss: 0.0115 - class_accuracy: 0.0161 - reg_IoU: 0.7236 - val_loss: 5.5259 - val_class_loss: 5.1853 - val_reg_loss: 0.0114 - val_class_accuracy: 0.0171 - val_reg_IoU: 0.7135 Epoch 11/50 36/36 [==============================] - ETA: 0s - loss: 5.5223 - class_loss: 5.1726 - reg_loss: 0.0117 - class_accuracy: 0.0155 - reg_IoU: 0.7248 Epoch 00011: val_class_accuracy improved from 0.01709 to 0.02041, saving model to ./model_resnet.h5 36/36 [==============================] - 164s 5s/step - loss: 5.5223 - class_loss: 5.1726 - reg_loss: 0.0117 - class_accuracy: 0.0155 - reg_IoU: 0.7248 - val_loss: 5.4684 - val_class_loss: 5.1734 - val_reg_loss: 0.0098 - val_class_accuracy: 0.0204 - val_reg_IoU: 0.7395 Epoch 12/50 36/36 [==============================] - ETA: 0s - loss: 5.4953 - class_loss: 5.1549 - reg_loss: 0.0113 - class_accuracy: 0.0181 - reg_IoU: 0.7283 Epoch 00012: val_class_accuracy did not improve from 0.02041 36/36 [==============================] - 161s 5s/step - loss: 5.4953 - class_loss: 5.1549 - reg_loss: 0.0113 - class_accuracy: 0.0181 - reg_IoU: 0.7283 - val_loss: 5.4497 - val_class_loss: 5.1612 - val_reg_loss: 0.0096 - val_class_accuracy: 0.0153 - val_reg_IoU: 0.7451 Epoch 13/50 36/36 [==============================] - ETA: 0s - loss: 5.4830 - class_loss: 5.1458 - reg_loss: 0.0112 - class_accuracy: 0.0177 - reg_IoU: 0.7284 Epoch 00013: val_class_accuracy did not improve from 0.02041 36/36 [==============================] - 167s 5s/step - loss: 5.4830 - class_loss: 5.1458 - reg_loss: 0.0112 - class_accuracy: 0.0177 - reg_IoU: 0.7284 - val_loss: 5.4676 - val_class_loss: 5.1642 - val_reg_loss: 0.0101 - val_class_accuracy: 0.0114 - val_reg_IoU: 0.7320 Epoch 14/50 36/36 [==============================] - ETA: 0s - loss: 5.4784 - class_loss: 5.1412 - reg_loss: 0.0112 - class_accuracy: 0.0195 - reg_IoU: 0.7295 Epoch 00014: val_class_accuracy did not improve from 0.02041 36/36 [==============================] - 162s 5s/step - loss: 5.4784 - class_loss: 5.1412 - reg_loss: 0.0112 - class_accuracy: 0.0195 - reg_IoU: 0.7295 - val_loss: 5.4202 - val_class_loss: 5.1382 - val_reg_loss: 0.0094 - val_class_accuracy: 0.0190 - val_reg_IoU: 0.7405 Epoch 15/50 36/36 [==============================] - ETA: 0s - loss: 5.4543 - class_loss: 5.1158 - reg_loss: 0.0113 - class_accuracy: 0.0210 - reg_IoU: 0.7289 Epoch 00015: val_class_accuracy did not improve from 0.02041 36/36 [==============================] - 161s 5s/step - loss: 5.4543 - class_loss: 5.1158 - reg_loss: 0.0113 - class_accuracy: 0.0210 - reg_IoU: 0.7289 - val_loss: 5.4123 - val_class_loss: 5.1331 - val_reg_loss: 0.0093 - val_class_accuracy: 0.0204 - val_reg_IoU: 0.7578 Epoch 16/50 36/36 [==============================] - ETA: 0s - loss: 5.4236 - class_loss: 5.0912 - reg_loss: 0.0111 - class_accuracy: 0.0221 - reg_IoU: 0.7308 Epoch 00016: val_class_accuracy improved from 0.02041 to 0.02577, saving model to ./model_resnet.h5 36/36 [==============================] - 166s 5s/step - loss: 5.4236 - class_loss: 5.0912 - reg_loss: 0.0111 - class_accuracy: 0.0221 - reg_IoU: 0.7308 - val_loss: 5.3921 - val_class_loss: 5.1072 - val_reg_loss: 0.0095 - val_class_accuracy: 0.0258 - val_reg_IoU: 0.7582 Epoch 17/50 36/36 [==============================] - ETA: 0s - loss: 5.4296 - class_loss: 5.0990 - reg_loss: 0.0110 - class_accuracy: 0.0212 - reg_IoU: 0.7316 Epoch 00017: val_class_accuracy did not improve from 0.02577 36/36 [==============================] - 164s 5s/step - loss: 5.4296 - class_loss: 5.0990 - reg_loss: 0.0110 - class_accuracy: 0.0212 - reg_IoU: 0.7316 - val_loss: 5.4076 - val_class_loss: 5.1194 - val_reg_loss: 0.0096 - val_class_accuracy: 0.0195 - val_reg_IoU: 0.7457 Epoch 18/50 36/36 [==============================] - ETA: 0s - loss: 5.4054 - class_loss: 5.0766 - reg_loss: 0.0110 - class_accuracy: 0.0227 - reg_IoU: 0.7335 Epoch 00018: val_class_accuracy did not improve from 0.02577 36/36 [==============================] - 164s 5s/step - loss: 5.4054 - class_loss: 5.0766 - reg_loss: 0.0110 - class_accuracy: 0.0227 - reg_IoU: 0.7335 - val_loss: 5.4241 - val_class_loss: 5.1165 - val_reg_loss: 0.0103 - val_class_accuracy: 0.0241 - val_reg_IoU: 0.7488 Epoch 19/50 36/36 [==============================] - ETA: 0s - loss: 5.4072 - class_loss: 5.0798 - reg_loss: 0.0109 - class_accuracy: 0.0224 - reg_IoU: 0.7324 Epoch 00019: val_class_accuracy did not improve from 0.02577 36/36 [==============================] - 162s 5s/step - loss: 5.4072 - class_loss: 5.0798 - reg_loss: 0.0109 - class_accuracy: 0.0224 - reg_IoU: 0.7324 - val_loss: 5.3830 - val_class_loss: 5.1041 - val_reg_loss: 0.0093 - val_class_accuracy: 0.0244 - val_reg_IoU: 0.7532 Epoch 20/50 36/36 [==============================] - ETA: 0s - loss: 5.3795 - class_loss: 5.0566 - reg_loss: 0.0108 - class_accuracy: 0.0258 - reg_IoU: 0.7333 Epoch 00020: val_class_accuracy did not improve from 0.02577 36/36 [==============================] - 166s 5s/step - loss: 5.3795 - class_loss: 5.0566 - reg_loss: 0.0108 - class_accuracy: 0.0258 - reg_IoU: 0.7333 - val_loss: 5.3806 - val_class_loss: 5.1104 - val_reg_loss: 0.0090 - val_class_accuracy: 0.0217 - val_reg_IoU: 0.7590 Epoch 21/50 36/36 [==============================] - ETA: 0s - loss: 5.3727 - class_loss: 5.0494 - reg_loss: 0.0108 - class_accuracy: 0.0278 - reg_IoU: 0.7351 Epoch 00021: val_class_accuracy did not improve from 0.02577 36/36 [==============================] - 166s 5s/step - loss: 5.3727 - class_loss: 5.0494 - reg_loss: 0.0108 - class_accuracy: 0.0278 - reg_IoU: 0.7351 - val_loss: 5.3917 - val_class_loss: 5.0942 - val_reg_loss: 0.0099 - val_class_accuracy: 0.0226 - val_reg_IoU: 0.7124 Epoch 22/50 36/36 [==============================] - ETA: 0s - loss: 5.3612 - class_loss: 5.0244 - reg_loss: 0.0112 - class_accuracy: 0.0242 - reg_IoU: 0.7298 Epoch 00022: val_class_accuracy did not improve from 0.02577 36/36 [==============================] - 165s 5s/step - loss: 5.3612 - class_loss: 5.0244 - reg_loss: 0.0112 - class_accuracy: 0.0242 - reg_IoU: 0.7298 - val_loss: 5.3596 - val_class_loss: 5.0861 - val_reg_loss: 0.0091 - val_class_accuracy: 0.0227 - val_reg_IoU: 0.7508 Epoch 23/50 36/36 [==============================] - ETA: 0s - loss: 5.3428 - class_loss: 5.0154 - reg_loss: 0.0109 - class_accuracy: 0.0283 - reg_IoU: 0.7335 Epoch 00023: val_class_accuracy improved from 0.02577 to 0.02997, saving model to ./model_resnet.h5 36/36 [==============================] - 163s 5s/step - loss: 5.3428 - class_loss: 5.0154 - reg_loss: 0.0109 - class_accuracy: 0.0283 - reg_IoU: 0.7335 - val_loss: 5.3565 - val_class_loss: 5.0764 - val_reg_loss: 0.0093 - val_class_accuracy: 0.0300 - val_reg_IoU: 0.7250 Epoch 24/50 36/36 [==============================] - ETA: 0s - loss: 5.3129 - class_loss: 4.9969 - reg_loss: 0.0105 - class_accuracy: 0.0303 - reg_IoU: 0.7358 Epoch 00024: val_class_accuracy did not improve from 0.02997 36/36 [==============================] - 161s 5s/step - loss: 5.3129 - class_loss: 4.9969 - reg_loss: 0.0105 - class_accuracy: 0.0303 - reg_IoU: 0.7358 - val_loss: 5.3447 - val_class_loss: 5.0659 - val_reg_loss: 0.0093 - val_class_accuracy: 0.0273 - val_reg_IoU: 0.7391 Epoch 25/50 36/36 [==============================] - ETA: 0s - loss: 5.3182 - class_loss: 4.9992 - reg_loss: 0.0106 - class_accuracy: 0.0334 - reg_IoU: 0.7355 Epoch 00025: val_class_accuracy did not improve from 0.02997 36/36 [==============================] - 163s 5s/step - loss: 5.3182 - class_loss: 4.9992 - reg_loss: 0.0106 - class_accuracy: 0.0334 - reg_IoU: 0.7355 - val_loss: 5.3421 - val_class_loss: 5.0614 - val_reg_loss: 0.0094 - val_class_accuracy: 0.0255 - val_reg_IoU: 0.7556 Epoch 26/50 36/36 [==============================] - ETA: 0s - loss: 5.3134 - class_loss: 4.9947 - reg_loss: 0.0106 - class_accuracy: 0.0305 - reg_IoU: 0.7346 Epoch 00026: val_class_accuracy did not improve from 0.02997 36/36 [==============================] - 167s 5s/step - loss: 5.3134 - class_loss: 4.9947 - reg_loss: 0.0106 - class_accuracy: 0.0305 - reg_IoU: 0.7346 - val_loss: 5.3609 - val_class_loss: 5.0871 - val_reg_loss: 0.0091 - val_class_accuracy: 0.0236 - val_reg_IoU: 0.7499 Epoch 27/50 36/36 [==============================] - ETA: 0s - loss: 5.3162 - class_loss: 4.9964 - reg_loss: 0.0107 - class_accuracy: 0.0312 - reg_IoU: 0.7343 Epoch 00027: val_class_accuracy did not improve from 0.02997 36/36 [==============================] - 162s 5s/step - loss: 5.3162 - class_loss: 4.9964 - reg_loss: 0.0107 - class_accuracy: 0.0312 - reg_IoU: 0.7343 - val_loss: 5.3348 - val_class_loss: 5.0550 - val_reg_loss: 0.0093 - val_class_accuracy: 0.0263 - val_reg_IoU: 0.7420 Epoch 28/50 36/36 [==============================] - ETA: 0s - loss: 5.2923 - class_loss: 4.9726 - reg_loss: 0.0107 - class_accuracy: 0.0304 - reg_IoU: 0.7335 Epoch 00028: val_class_accuracy did not improve from 0.02997 36/36 [==============================] - 164s 5s/step - loss: 5.2923 - class_loss: 4.9726 - reg_loss: 0.0107 - class_accuracy: 0.0304 - reg_IoU: 0.7335 - val_loss: 5.3274 - val_class_loss: 5.0525 - val_reg_loss: 0.0092 - val_class_accuracy: 0.0277 - val_reg_IoU: 0.7458 Epoch 29/50 36/36 [==============================] - ETA: 0s - loss: 5.2766 - class_loss: 4.9647 - reg_loss: 0.0104 - class_accuracy: 0.0322 - reg_IoU: 0.7371 Epoch 00029: val_class_accuracy improved from 0.02997 to 0.03036, saving model to ./model_resnet.h5 36/36 [==============================] - 164s 5s/step - loss: 5.2766 - class_loss: 4.9647 - reg_loss: 0.0104 - class_accuracy: 0.0322 - reg_IoU: 0.7371 - val_loss: 5.3300 - val_class_loss: 5.0390 - val_reg_loss: 0.0097 - val_class_accuracy: 0.0304 - val_reg_IoU: 0.7198 Epoch 30/50 36/36 [==============================] - ETA: 0s - loss: 5.2818 - class_loss: 4.9643 - reg_loss: 0.0106 - class_accuracy: 0.0340 - reg_IoU: 0.7370 Epoch 00030: val_class_accuracy did not improve from 0.03036 36/36 [==============================] - 162s 5s/step - loss: 5.2818 - class_loss: 4.9643 - reg_loss: 0.0106 - class_accuracy: 0.0340 - reg_IoU: 0.7370 - val_loss: 5.3032 - val_class_loss: 5.0281 - val_reg_loss: 0.0092 - val_class_accuracy: 0.0255 - val_reg_IoU: 0.7426 Epoch 31/50 36/36 [==============================] - ETA: 0s - loss: 5.2619 - class_loss: 4.9358 - reg_loss: 0.0109 - class_accuracy: 0.0378 - reg_IoU: 0.7339 Epoch 00031: val_class_accuracy did not improve from 0.03036 36/36 [==============================] - 161s 5s/step - loss: 5.2619 - class_loss: 4.9358 - reg_loss: 0.0109 - class_accuracy: 0.0378 - reg_IoU: 0.7339 - val_loss: 5.2960 - val_class_loss: 5.0314 - val_reg_loss: 0.0088 - val_class_accuracy: 0.0279 - val_reg_IoU: 0.7551 Epoch 32/50 36/36 [==============================] - ETA: 0s - loss: 5.2560 - class_loss: 4.9413 - reg_loss: 0.0105 - class_accuracy: 0.0334 - reg_IoU: 0.7363 Epoch 00032: val_class_accuracy improved from 0.03036 to 0.03329, saving model to ./model_resnet.h5 36/36 [==============================] - 164s 5s/step - loss: 5.2560 - class_loss: 4.9413 - reg_loss: 0.0105 - class_accuracy: 0.0334 - reg_IoU: 0.7363 - val_loss: 5.3005 - val_class_loss: 5.0222 - val_reg_loss: 0.0093 - val_class_accuracy: 0.0333 - val_reg_IoU: 0.7399 Epoch 33/50 36/36 [==============================] - ETA: 0s - loss: 5.2329 - class_loss: 4.9172 - reg_loss: 0.0105 - class_accuracy: 0.0382 - reg_IoU: 0.7372 Epoch 00033: val_class_accuracy did not improve from 0.03329 36/36 [==============================] - 166s 5s/step - loss: 5.2329 - class_loss: 4.9172 - reg_loss: 0.0105 - class_accuracy: 0.0382 - reg_IoU: 0.7372 - val_loss: 5.2619 - val_class_loss: 5.0004 - val_reg_loss: 0.0087 - val_class_accuracy: 0.0325 - val_reg_IoU: 0.7576 Epoch 34/50 36/36 [==============================] - ETA: 0s - loss: 5.2289 - class_loss: 4.9154 - reg_loss: 0.0104 - class_accuracy: 0.0321 - reg_IoU: 0.7385 Epoch 00034: val_class_accuracy did not improve from 0.03329 36/36 [==============================] - 161s 5s/step - loss: 5.2289 - class_loss: 4.9154 - reg_loss: 0.0104 - class_accuracy: 0.0321 - reg_IoU: 0.7385 - val_loss: 5.2831 - val_class_loss: 5.0215 - val_reg_loss: 0.0087 - val_class_accuracy: 0.0302 - val_reg_IoU: 0.7567 Epoch 35/50 36/36 [==============================] - ETA: 0s - loss: 5.2286 - class_loss: 4.9071 - reg_loss: 0.0107 - class_accuracy: 0.0404 - reg_IoU: 0.7353 Epoch 00035: val_class_accuracy did not improve from 0.03329 36/36 [==============================] - 162s 5s/step - loss: 5.2286 - class_loss: 4.9071 - reg_loss: 0.0107 - class_accuracy: 0.0404 - reg_IoU: 0.7353 - val_loss: 5.2886 - val_class_loss: 5.0207 - val_reg_loss: 0.0089 - val_class_accuracy: 0.0251 - val_reg_IoU: 0.7532 Epoch 36/50 36/36 [==============================] - ETA: 0s - loss: 5.2206 - class_loss: 4.8984 - reg_loss: 0.0107 - class_accuracy: 0.0356 - reg_IoU: 0.7347 Epoch 00036: val_class_accuracy did not improve from 0.03329 36/36 [==============================] - 160s 5s/step - loss: 5.2206 - class_loss: 4.8984 - reg_loss: 0.0107 - class_accuracy: 0.0356 - reg_IoU: 0.7347 - val_loss: 5.3277 - val_class_loss: 5.0400 - val_reg_loss: 0.0096 - val_class_accuracy: 0.0273 - val_reg_IoU: 0.7283 Epoch 37/50 36/36 [==============================] - ETA: 0s - loss: 5.2087 - class_loss: 4.9010 - reg_loss: 0.0103 - class_accuracy: 0.0427 - reg_IoU: 0.7388 Epoch 00037: val_class_accuracy did not improve from 0.03329 36/36 [==============================] - 162s 5s/step - loss: 5.2087 - class_loss: 4.9010 - reg_loss: 0.0103 - class_accuracy: 0.0427 - reg_IoU: 0.7388 - val_loss: 5.2945 - val_class_loss: 5.0242 - val_reg_loss: 0.0090 - val_class_accuracy: 0.0259 - val_reg_IoU: 0.7612 Epoch 38/50 36/36 [==============================] - ETA: 0s - loss: 5.2137 - class_loss: 4.9037 - reg_loss: 0.0103 - class_accuracy: 0.0383 - reg_IoU: 0.7388 Epoch 00038: val_class_accuracy did not improve from 0.03329 36/36 [==============================] - 163s 5s/step - loss: 5.2137 - class_loss: 4.9037 - reg_loss: 0.0103 - class_accuracy: 0.0383 - reg_IoU: 0.7388 - val_loss: 5.2762 - val_class_loss: 5.0070 - val_reg_loss: 0.0090 - val_class_accuracy: 0.0320 - val_reg_IoU: 0.7525
history=model.fit(train_generator,
epochs=70,
initial_epoch =38,
steps_per_epoch= train.shape[0]//batchsize,
validation_data=test_generator,
validation_steps = test.shape[0]//batchsize,
callbacks=[earlystop,modelsave])
Epoch 39/70 36/36 [==============================] - ETA: 0s - loss: 5.1951 - class_loss: 4.8864 - reg_loss: 0.0103 - class_accuracy: 0.0443 - reg_IoU: 0.7371 Epoch 00039: val_class_accuracy did not improve from 0.03329 36/36 [==============================] - 157s 4s/step - loss: 5.1951 - class_loss: 4.8864 - reg_loss: 0.0103 - class_accuracy: 0.0443 - reg_IoU: 0.7371 - val_loss: 5.2854 - val_class_loss: 5.0137 - val_reg_loss: 0.0091 - val_class_accuracy: 0.0315 - val_reg_IoU: 0.7602 Epoch 40/70 36/36 [==============================] - ETA: 0s - loss: 5.1595 - class_loss: 4.8528 - reg_loss: 0.0102 - class_accuracy: 0.0439 - reg_IoU: 0.7405 Epoch 00040: val_class_accuracy did not improve from 0.03329 36/36 [==============================] - 158s 4s/step - loss: 5.1595 - class_loss: 4.8528 - reg_loss: 0.0102 - class_accuracy: 0.0439 - reg_IoU: 0.7405 - val_loss: 5.2700 - val_class_loss: 5.0042 - val_reg_loss: 0.0089 - val_class_accuracy: 0.0293 - val_reg_IoU: 0.7575 Epoch 41/70 36/36 [==============================] - ETA: 0s - loss: 5.1565 - class_loss: 4.8506 - reg_loss: 0.0102 - class_accuracy: 0.0418 - reg_IoU: 0.7389 Epoch 00041: val_class_accuracy did not improve from 0.03329 36/36 [==============================] - 160s 5s/step - loss: 5.1565 - class_loss: 4.8506 - reg_loss: 0.0102 - class_accuracy: 0.0418 - reg_IoU: 0.7389 - val_loss: 5.2675 - val_class_loss: 5.0100 - val_reg_loss: 0.0086 - val_class_accuracy: 0.0272 - val_reg_IoU: 0.7608 Epoch 42/70 36/36 [==============================] - ETA: 0s - loss: 5.1833 - class_loss: 4.8774 - reg_loss: 0.0102 - class_accuracy: 0.0413 - reg_IoU: 0.7391 Epoch 00042: val_class_accuracy did not improve from 0.03329 36/36 [==============================] - 160s 5s/step - loss: 5.1833 - class_loss: 4.8774 - reg_loss: 0.0102 - class_accuracy: 0.0413 - reg_IoU: 0.7391 - val_loss: 5.2863 - val_class_loss: 5.0023 - val_reg_loss: 0.0095 - val_class_accuracy: 0.0302 - val_reg_IoU: 0.7368 Epoch 43/70 36/36 [==============================] - ETA: 0s - loss: 5.1675 - class_loss: 4.8615 - reg_loss: 0.0102 - class_accuracy: 0.0430 - reg_IoU: 0.7383 Epoch 00043: val_class_accuracy did not improve from 0.03329 36/36 [==============================] - 161s 5s/step - loss: 5.1675 - class_loss: 4.8615 - reg_loss: 0.0102 - class_accuracy: 0.0430 - reg_IoU: 0.7383 - val_loss: 5.2711 - val_class_loss: 4.9996 - val_reg_loss: 0.0091 - val_class_accuracy: 0.0324 - val_reg_IoU: 0.7629 Epoch 44/70 36/36 [==============================] - ETA: 0s - loss: 5.1498 - class_loss: 4.8336 - reg_loss: 0.0105 - class_accuracy: 0.0508 - reg_IoU: 0.7363 Epoch 00044: val_class_accuracy improved from 0.03329 to 0.03431, saving model to ./model_resnet.h5 36/36 [==============================] - 159s 5s/step - loss: 5.1498 - class_loss: 4.8336 - reg_loss: 0.0105 - class_accuracy: 0.0508 - reg_IoU: 0.7363 - val_loss: 5.2340 - val_class_loss: 4.9740 - val_reg_loss: 0.0087 - val_class_accuracy: 0.0343 - val_reg_IoU: 0.7604 Epoch 45/70 36/36 [==============================] - ETA: 0s - loss: 5.1379 - class_loss: 4.8306 - reg_loss: 0.0102 - class_accuracy: 0.0470 - reg_IoU: 0.7398 Epoch 00045: val_class_accuracy improved from 0.03431 to 0.03482, saving model to ./model_resnet.h5 36/36 [==============================] - 162s 5s/step - loss: 5.1379 - class_loss: 4.8306 - reg_loss: 0.0102 - class_accuracy: 0.0470 - reg_IoU: 0.7398 - val_loss: 5.2738 - val_class_loss: 4.9827 - val_reg_loss: 0.0097 - val_class_accuracy: 0.0348 - val_reg_IoU: 0.7294 Epoch 46/70 36/36 [==============================] - ETA: 0s - loss: 5.1436 - class_loss: 4.8404 - reg_loss: 0.0101 - class_accuracy: 0.0485 - reg_IoU: 0.7410 Epoch 00046: val_class_accuracy improved from 0.03482 to 0.03699, saving model to ./model_resnet.h5 36/36 [==============================] - 165s 5s/step - loss: 5.1436 - class_loss: 4.8404 - reg_loss: 0.0101 - class_accuracy: 0.0485 - reg_IoU: 0.7410 - val_loss: 5.2575 - val_class_loss: 4.9766 - val_reg_loss: 0.0094 - val_class_accuracy: 0.0370 - val_reg_IoU: 0.7508 Epoch 47/70 36/36 [==============================] - ETA: 0s - loss: 5.1208 - class_loss: 4.8110 - reg_loss: 0.0103 - class_accuracy: 0.0476 - reg_IoU: 0.7402 Epoch 00047: val_class_accuracy did not improve from 0.03699 36/36 [==============================] - 163s 5s/step - loss: 5.1208 - class_loss: 4.8110 - reg_loss: 0.0103 - class_accuracy: 0.0476 - reg_IoU: 0.7402 - val_loss: 5.2705 - val_class_loss: 4.9876 - val_reg_loss: 0.0094 - val_class_accuracy: 0.0321 - val_reg_IoU: 0.7478 Epoch 48/70 36/36 [==============================] - ETA: 0s - loss: 5.1074 - class_loss: 4.8006 - reg_loss: 0.0102 - class_accuracy: 0.0495 - reg_IoU: 0.7376 Epoch 00048: val_class_accuracy did not improve from 0.03699 36/36 [==============================] - 162s 5s/step - loss: 5.1074 - class_loss: 4.8006 - reg_loss: 0.0102 - class_accuracy: 0.0495 - reg_IoU: 0.7376 - val_loss: 5.2580 - val_class_loss: 4.9777 - val_reg_loss: 0.0093 - val_class_accuracy: 0.0344 - val_reg_IoU: 0.7281 Epoch 49/70 36/36 [==============================] - ETA: 0s - loss: 5.1072 - class_loss: 4.7948 - reg_loss: 0.0104 - class_accuracy: 0.0527 - reg_IoU: 0.7371 Epoch 00049: val_class_accuracy did not improve from 0.03699 36/36 [==============================] - 164s 5s/step - loss: 5.1072 - class_loss: 4.7948 - reg_loss: 0.0104 - class_accuracy: 0.0527 - reg_IoU: 0.7371 - val_loss: 5.2550 - val_class_loss: 4.9845 - val_reg_loss: 0.0090 - val_class_accuracy: 0.0316 - val_reg_IoU: 0.7573
from keras.models import load_model
model_R = load_model('./model_resnet.h5', custom_objects={"IoU": IoU })
def predict_image(model,image_num, df):
#Load image
img = image.load_img(df.loc[image_num, 'Path'])
w, h = img.size
#Prepare input
img_resized = img.resize((image_size, image_size))
input_array = image.img_to_array(img_resized)
input_array = np.expand_dims(input_array, axis=0)
input_array = input_array/255.0
#Prediction
pred = model.predict(input_array)
label_pred, bbox_pred = pred[0][0], pred[1][0]
pred_class = label_class_dict[np.argmax(label_pred)]
True_class = df.loc[image_num, 'Label']
xmin, ymin, xmax, ymax = df.loc[image_num, ['xmin', 'ymin', 'xmax', 'ymax']]
print('Real Label :', True_class, '\nPredicted Label: ', pred_class)
#Draw bounding boxes - Actual (Red) and Predicted(Green)
img = cv2.imread(df.loc[image_num, 'Path'])
#Draw actual bounding box
img = cv2.rectangle(img, (xmin, ymin),
(xmax, ymax), (0,0,255), 3)
#Draw predicted bounding box
img = cv2.rectangle(img, (int(bbox_pred[0]*w), int(bbox_pred[1]*h)),
(int((bbox_pred[0]+bbox_pred[2])*w), int((bbox_pred[1]+bbox_pred[3])*h)), (0,255,0), 3)
#Display the picture
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
plt.imshow(img)
plt.show()
#Predict on Test Dataset
image_num = np.random.randint(0, test.shape[0])
predict_image(model_R,image_num, test)
Real Label : Mercedes-Benz C-Class Sedan 2012 Predicted Label: Audi V8 Sedan 1994
Tensor Flow Object Detection API
#Clone github repo
!git clone https://github.com/tensorflow/models
Cloning into 'models'... remote: Enumerating objects: 67735, done. remote: Counting objects: 100% (59/59), done. remote: Compressing objects: 100% (38/38), done. remote: Total 67735 (delta 26), reused 50 (delta 21), pack-reused 67676 Receiving objects: 100% (67735/67735), 576.37 MiB | 18.40 MiB/s, done. Resolving deltas: 100% (47549/47549), done. Checking out files: 100% (2935/2935), done.
#Upgrade pip package
!pip install --upgrade pip
%%bash
cd models/research
# Compile protos.
protoc object_detection/protos/*.proto --python_out=.
# Install TensorFlow Object Detection API.
cp object_detection/packages/tf2/setup.py .
python -m pip install --use-feature=2020-resolver .
Processing /content/drive/My Drive/AIML/CapStone/models/research
Collecting avro-python3
Downloading avro-python3-1.10.2.tar.gz (38 kB)
Collecting apache-beam
Downloading apache_beam-2.34.0-cp37-cp37m-manylinux2010_x86_64.whl (9.8 MB)
Requirement already satisfied: pillow in /usr/local/lib/python3.7/dist-packages (from object-detection==0.1) (7.1.2)
Requirement already satisfied: lxml in /usr/local/lib/python3.7/dist-packages (from object-detection==0.1) (4.2.6)
Requirement already satisfied: matplotlib in /usr/local/lib/python3.7/dist-packages (from object-detection==0.1) (3.2.2)
Requirement already satisfied: Cython in /usr/local/lib/python3.7/dist-packages (from object-detection==0.1) (0.29.24)
Requirement already satisfied: contextlib2 in /usr/local/lib/python3.7/dist-packages (from object-detection==0.1) (0.5.5)
Collecting tf-slim
Downloading tf_slim-1.1.0-py2.py3-none-any.whl (352 kB)
Requirement already satisfied: six in /usr/local/lib/python3.7/dist-packages (from object-detection==0.1) (1.15.0)
Requirement already satisfied: pycocotools in /usr/local/lib/python3.7/dist-packages (from object-detection==0.1) (2.0.3)
Collecting lvis
Downloading lvis-0.5.3-py3-none-any.whl (14 kB)
Requirement already satisfied: scipy in /usr/local/lib/python3.7/dist-packages (from object-detection==0.1) (1.4.1)
Requirement already satisfied: pandas in /usr/local/lib/python3.7/dist-packages (from object-detection==0.1) (1.1.5)
Collecting tf-models-official>=2.5.1
Downloading tf_models_official-2.7.0-py2.py3-none-any.whl (1.8 MB)
Collecting tensorflow_io
Downloading tensorflow_io-0.22.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (22.7 MB)
Requirement already satisfied: keras in /usr/local/lib/python3.7/dist-packages (from object-detection==0.1) (2.7.0)
Requirement already satisfied: gin-config in /usr/local/lib/python3.7/dist-packages (from tf-models-official>=2.5.1->object-detection==0.1) (0.5.0)
Collecting sacrebleu
Downloading sacrebleu-2.0.0-py3-none-any.whl (90 kB)
Collecting tensorflow-model-optimization>=0.4.1
Downloading tensorflow_model_optimization-0.7.0-py2.py3-none-any.whl (213 kB)
Requirement already satisfied: oauth2client in /usr/local/lib/python3.7/dist-packages (from tf-models-official>=2.5.1->object-detection==0.1) (4.1.3)
Requirement already satisfied: psutil>=5.4.3 in /usr/local/lib/python3.7/dist-packages (from tf-models-official>=2.5.1->object-detection==0.1) (5.4.8)
Requirement already satisfied: google-api-python-client>=1.6.7 in /usr/local/lib/python3.7/dist-packages (from tf-models-official>=2.5.1->object-detection==0.1) (1.12.8)
Collecting seqeval
Downloading seqeval-1.2.2.tar.gz (43 kB)
Requirement already satisfied: tensorflow>=2.7.0 in /usr/local/lib/python3.7/dist-packages (from tf-models-official>=2.5.1->object-detection==0.1) (2.7.0)
Collecting opencv-python-headless
Downloading opencv_python_headless-4.5.4.60-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (47.6 MB)
Collecting pyyaml>=5.1
Downloading PyYAML-6.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (596 kB)
Requirement already satisfied: kaggle>=1.3.9 in /usr/local/lib/python3.7/dist-packages (from tf-models-official>=2.5.1->object-detection==0.1) (1.5.12)
Collecting sentencepiece
Downloading sentencepiece-0.1.96-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB)
Requirement already satisfied: tensorflow-hub>=0.6.0 in /usr/local/lib/python3.7/dist-packages (from tf-models-official>=2.5.1->object-detection==0.1) (0.12.0)
Collecting tensorflow-addons
Downloading tensorflow_addons-0.15.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (1.1 MB)
Collecting py-cpuinfo>=3.3.0
Downloading py-cpuinfo-8.0.0.tar.gz (99 kB)
Collecting tensorflow-text>=2.7.0
Downloading tensorflow_text-2.7.3-cp37-cp37m-manylinux2010_x86_64.whl (4.9 MB)
Requirement already satisfied: numpy>=1.15.4 in /usr/local/lib/python3.7/dist-packages (from tf-models-official>=2.5.1->object-detection==0.1) (1.19.5)
Requirement already satisfied: tensorflow-datasets in /usr/local/lib/python3.7/dist-packages (from tf-models-official>=2.5.1->object-detection==0.1) (4.0.1)
Requirement already satisfied: google-api-core<2dev,>=1.21.0 in /usr/local/lib/python3.7/dist-packages (from google-api-python-client>=1.6.7->tf-models-official>=2.5.1->object-detection==0.1) (1.26.3)
Requirement already satisfied: uritemplate<4dev,>=3.0.0 in /usr/local/lib/python3.7/dist-packages (from google-api-python-client>=1.6.7->tf-models-official>=2.5.1->object-detection==0.1) (3.0.1)
Requirement already satisfied: google-auth-httplib2>=0.0.3 in /usr/local/lib/python3.7/dist-packages (from google-api-python-client>=1.6.7->tf-models-official>=2.5.1->object-detection==0.1) (0.0.4)
Requirement already satisfied: google-auth>=1.16.0 in /usr/local/lib/python3.7/dist-packages (from google-api-python-client>=1.6.7->tf-models-official>=2.5.1->object-detection==0.1) (1.35.0)
Requirement already satisfied: httplib2<1dev,>=0.15.0 in /usr/local/lib/python3.7/dist-packages (from google-api-python-client>=1.6.7->tf-models-official>=2.5.1->object-detection==0.1) (0.17.4)
Requirement already satisfied: setuptools>=40.3.0 in /usr/local/lib/python3.7/dist-packages (from google-api-core<2dev,>=1.21.0->google-api-python-client>=1.6.7->tf-models-official>=2.5.1->object-detection==0.1) (57.4.0)
Requirement already satisfied: packaging>=14.3 in /usr/local/lib/python3.7/dist-packages (from google-api-core<2dev,>=1.21.0->google-api-python-client>=1.6.7->tf-models-official>=2.5.1->object-detection==0.1) (21.3)
Requirement already satisfied: protobuf>=3.12.0 in /usr/local/lib/python3.7/dist-packages (from google-api-core<2dev,>=1.21.0->google-api-python-client>=1.6.7->tf-models-official>=2.5.1->object-detection==0.1) (3.17.3)
Requirement already satisfied: googleapis-common-protos<2.0dev,>=1.6.0 in /usr/local/lib/python3.7/dist-packages (from google-api-core<2dev,>=1.21.0->google-api-python-client>=1.6.7->tf-models-official>=2.5.1->object-detection==0.1) (1.53.0)
Requirement already satisfied: pytz in /usr/local/lib/python3.7/dist-packages (from google-api-core<2dev,>=1.21.0->google-api-python-client>=1.6.7->tf-models-official>=2.5.1->object-detection==0.1) (2018.9)
Requirement already satisfied: requests<3.0.0dev,>=2.18.0 in /usr/local/lib/python3.7/dist-packages (from google-api-core<2dev,>=1.21.0->google-api-python-client>=1.6.7->tf-models-official>=2.5.1->object-detection==0.1) (2.23.0)
Requirement already satisfied: cachetools<5.0,>=2.0.0 in /usr/local/lib/python3.7/dist-packages (from google-auth>=1.16.0->google-api-python-client>=1.6.7->tf-models-official>=2.5.1->object-detection==0.1) (4.2.4)
Requirement already satisfied: pyasn1-modules>=0.2.1 in /usr/local/lib/python3.7/dist-packages (from google-auth>=1.16.0->google-api-python-client>=1.6.7->tf-models-official>=2.5.1->object-detection==0.1) (0.2.8)
Requirement already satisfied: rsa<5,>=3.1.4 in /usr/local/lib/python3.7/dist-packages (from google-auth>=1.16.0->google-api-python-client>=1.6.7->tf-models-official>=2.5.1->object-detection==0.1) (4.8)
Requirement already satisfied: tqdm in /usr/local/lib/python3.7/dist-packages (from kaggle>=1.3.9->tf-models-official>=2.5.1->object-detection==0.1) (4.62.3)
Requirement already satisfied: python-slugify in /usr/local/lib/python3.7/dist-packages (from kaggle>=1.3.9->tf-models-official>=2.5.1->object-detection==0.1) (5.0.2)
Requirement already satisfied: urllib3 in /usr/local/lib/python3.7/dist-packages (from kaggle>=1.3.9->tf-models-official>=2.5.1->object-detection==0.1) (1.24.3)
Requirement already satisfied: python-dateutil in /usr/local/lib/python3.7/dist-packages (from kaggle>=1.3.9->tf-models-official>=2.5.1->object-detection==0.1) (2.8.2)
Requirement already satisfied: certifi in /usr/local/lib/python3.7/dist-packages (from kaggle>=1.3.9->tf-models-official>=2.5.1->object-detection==0.1) (2021.10.8)
Requirement already satisfied: pyparsing!=3.0.5,>=2.0.2 in /usr/local/lib/python3.7/dist-packages (from packaging>=14.3->google-api-core<2dev,>=1.21.0->google-api-python-client>=1.6.7->tf-models-official>=2.5.1->object-detection==0.1) (3.0.6)
Requirement already satisfied: pyasn1<0.5.0,>=0.4.6 in /usr/local/lib/python3.7/dist-packages (from pyasn1-modules>=0.2.1->google-auth>=1.16.0->google-api-python-client>=1.6.7->tf-models-official>=2.5.1->object-detection==0.1) (0.4.8)
Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.7/dist-packages (from requests<3.0.0dev,>=2.18.0->google-api-core<2dev,>=1.21.0->google-api-python-client>=1.6.7->tf-models-official>=2.5.1->object-detection==0.1) (2.10)
Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.7/dist-packages (from requests<3.0.0dev,>=2.18.0->google-api-core<2dev,>=1.21.0->google-api-python-client>=1.6.7->tf-models-official>=2.5.1->object-detection==0.1) (3.0.4)
Requirement already satisfied: tensorboard~=2.6 in /usr/local/lib/python3.7/dist-packages (from tensorflow>=2.7.0->tf-models-official>=2.5.1->object-detection==0.1) (2.7.0)
Requirement already satisfied: libclang>=9.0.1 in /usr/local/lib/python3.7/dist-packages (from tensorflow>=2.7.0->tf-models-official>=2.5.1->object-detection==0.1) (12.0.0)
Requirement already satisfied: absl-py>=0.4.0 in /usr/local/lib/python3.7/dist-packages (from tensorflow>=2.7.0->tf-models-official>=2.5.1->object-detection==0.1) (0.12.0)
Requirement already satisfied: h5py>=2.9.0 in /usr/local/lib/python3.7/dist-packages (from tensorflow>=2.7.0->tf-models-official>=2.5.1->object-detection==0.1) (3.1.0)
Requirement already satisfied: wheel<1.0,>=0.32.0 in /usr/local/lib/python3.7/dist-packages (from tensorflow>=2.7.0->tf-models-official>=2.5.1->object-detection==0.1) (0.37.0)
Requirement already satisfied: flatbuffers<3.0,>=1.12 in /usr/local/lib/python3.7/dist-packages (from tensorflow>=2.7.0->tf-models-official>=2.5.1->object-detection==0.1) (2.0)
Requirement already satisfied: tensorflow-estimator<2.8,~=2.7.0rc0 in /usr/local/lib/python3.7/dist-packages (from tensorflow>=2.7.0->tf-models-official>=2.5.1->object-detection==0.1) (2.7.0)
Requirement already satisfied: grpcio<2.0,>=1.24.3 in /usr/local/lib/python3.7/dist-packages (from tensorflow>=2.7.0->tf-models-official>=2.5.1->object-detection==0.1) (1.42.0)
Requirement already satisfied: opt-einsum>=2.3.2 in /usr/local/lib/python3.7/dist-packages (from tensorflow>=2.7.0->tf-models-official>=2.5.1->object-detection==0.1) (3.3.0)
Requirement already satisfied: astunparse>=1.6.0 in /usr/local/lib/python3.7/dist-packages (from tensorflow>=2.7.0->tf-models-official>=2.5.1->object-detection==0.1) (1.6.3)
Requirement already satisfied: termcolor>=1.1.0 in /usr/local/lib/python3.7/dist-packages (from tensorflow>=2.7.0->tf-models-official>=2.5.1->object-detection==0.1) (1.1.0)
Requirement already satisfied: tensorflow-io-gcs-filesystem>=0.21.0 in /usr/local/lib/python3.7/dist-packages (from tensorflow>=2.7.0->tf-models-official>=2.5.1->object-detection==0.1) (0.22.0)
Requirement already satisfied: wrapt>=1.11.0 in /usr/local/lib/python3.7/dist-packages (from tensorflow>=2.7.0->tf-models-official>=2.5.1->object-detection==0.1) (1.13.3)
Requirement already satisfied: keras-preprocessing>=1.1.1 in /usr/local/lib/python3.7/dist-packages (from tensorflow>=2.7.0->tf-models-official>=2.5.1->object-detection==0.1) (1.1.2)
Requirement already satisfied: gast<0.5.0,>=0.2.1 in /usr/local/lib/python3.7/dist-packages (from tensorflow>=2.7.0->tf-models-official>=2.5.1->object-detection==0.1) (0.4.0)
Requirement already satisfied: typing-extensions>=3.6.6 in /usr/local/lib/python3.7/dist-packages (from tensorflow>=2.7.0->tf-models-official>=2.5.1->object-detection==0.1) (3.10.0.2)
Requirement already satisfied: google-pasta>=0.1.1 in /usr/local/lib/python3.7/dist-packages (from tensorflow>=2.7.0->tf-models-official>=2.5.1->object-detection==0.1) (0.2.0)
Requirement already satisfied: cached-property in /usr/local/lib/python3.7/dist-packages (from h5py>=2.9.0->tensorflow>=2.7.0->tf-models-official>=2.5.1->object-detection==0.1) (1.5.2)
Requirement already satisfied: markdown>=2.6.8 in /usr/local/lib/python3.7/dist-packages (from tensorboard~=2.6->tensorflow>=2.7.0->tf-models-official>=2.5.1->object-detection==0.1) (3.3.6)
Requirement already satisfied: werkzeug>=0.11.15 in /usr/local/lib/python3.7/dist-packages (from tensorboard~=2.6->tensorflow>=2.7.0->tf-models-official>=2.5.1->object-detection==0.1) (1.0.1)
Requirement already satisfied: tensorboard-plugin-wit>=1.6.0 in /usr/local/lib/python3.7/dist-packages (from tensorboard~=2.6->tensorflow>=2.7.0->tf-models-official>=2.5.1->object-detection==0.1) (1.8.0)
Requirement already satisfied: google-auth-oauthlib<0.5,>=0.4.1 in /usr/local/lib/python3.7/dist-packages (from tensorboard~=2.6->tensorflow>=2.7.0->tf-models-official>=2.5.1->object-detection==0.1) (0.4.6)
Requirement already satisfied: tensorboard-data-server<0.7.0,>=0.6.0 in /usr/local/lib/python3.7/dist-packages (from tensorboard~=2.6->tensorflow>=2.7.0->tf-models-official>=2.5.1->object-detection==0.1) (0.6.1)
Requirement already satisfied: requests-oauthlib>=0.7.0 in /usr/local/lib/python3.7/dist-packages (from google-auth-oauthlib<0.5,>=0.4.1->tensorboard~=2.6->tensorflow>=2.7.0->tf-models-official>=2.5.1->object-detection==0.1) (1.3.0)
Requirement already satisfied: importlib-metadata>=4.4 in /usr/local/lib/python3.7/dist-packages (from markdown>=2.6.8->tensorboard~=2.6->tensorflow>=2.7.0->tf-models-official>=2.5.1->object-detection==0.1) (4.8.2)
Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.7/dist-packages (from importlib-metadata>=4.4->markdown>=2.6.8->tensorboard~=2.6->tensorflow>=2.7.0->tf-models-official>=2.5.1->object-detection==0.1) (3.6.0)
Requirement already satisfied: oauthlib>=3.0.0 in /usr/local/lib/python3.7/dist-packages (from requests-oauthlib>=0.7.0->google-auth-oauthlib<0.5,>=0.4.1->tensorboard~=2.6->tensorflow>=2.7.0->tf-models-official>=2.5.1->object-detection==0.1) (3.1.1)
Requirement already satisfied: dm-tree~=0.1.1 in /usr/local/lib/python3.7/dist-packages (from tensorflow-model-optimization>=0.4.1->tf-models-official>=2.5.1->object-detection==0.1) (0.1.6)
Collecting fastavro<2,>=0.21.4
Downloading fastavro-1.4.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB)
Collecting future<1.0.0,>=0.18.2
Downloading future-0.18.2.tar.gz (829 kB)
Requirement already satisfied: pydot<2,>=1.2.0 in /usr/local/lib/python3.7/dist-packages (from apache-beam->object-detection==0.1) (1.3.0)
Requirement already satisfied: crcmod<2.0,>=1.7 in /usr/local/lib/python3.7/dist-packages (from apache-beam->object-detection==0.1) (1.7)
Requirement already satisfied: pymongo<4.0.0,>=3.8.0 in /usr/local/lib/python3.7/dist-packages (from apache-beam->object-detection==0.1) (3.12.1)
Requirement already satisfied: pyarrow<6.0.0,>=0.15.1 in /usr/local/lib/python3.7/dist-packages (from apache-beam->object-detection==0.1) (3.0.0)
Collecting requests<3.0.0dev,>=2.18.0
Downloading requests-2.26.0-py2.py3-none-any.whl (62 kB)
Collecting hdfs<3.0.0,>=2.1.0
Downloading hdfs-2.6.0-py3-none-any.whl (33 kB)
Collecting dill<0.3.2,>=0.3.1.1
Downloading dill-0.3.1.1.tar.gz (151 kB)
Collecting avro-python3
Downloading avro-python3-1.9.2.1.tar.gz (37 kB)
Collecting orjson<4.0
Downloading orjson-3.6.4-cp37-cp37m-manylinux_2_24_x86_64.whl (249 kB)
Requirement already satisfied: docopt in /usr/local/lib/python3.7/dist-packages (from hdfs<3.0.0,>=2.1.0->apache-beam->object-detection==0.1) (0.6.2)
Requirement already satisfied: charset-normalizer~=2.0.0 in /usr/local/lib/python3.7/dist-packages (from requests<3.0.0dev,>=2.18.0->google-api-core<2dev,>=1.21.0->google-api-python-client>=1.6.7->tf-models-official>=2.5.1->object-detection==0.1) (2.0.8)
Requirement already satisfied: opencv-python>=4.1.0.25 in /usr/local/lib/python3.7/dist-packages (from lvis->object-detection==0.1) (4.1.2.30)
Requirement already satisfied: cycler>=0.10.0 in /usr/local/lib/python3.7/dist-packages (from lvis->object-detection==0.1) (0.11.0)
Requirement already satisfied: kiwisolver>=1.1.0 in /usr/local/lib/python3.7/dist-packages (from lvis->object-detection==0.1) (1.3.2)
Requirement already satisfied: text-unidecode>=1.3 in /usr/local/lib/python3.7/dist-packages (from python-slugify->kaggle>=1.3.9->tf-models-official>=2.5.1->object-detection==0.1) (1.3)
Collecting portalocker
Downloading portalocker-2.3.2-py2.py3-none-any.whl (15 kB)
Collecting colorama
Downloading colorama-0.4.4-py2.py3-none-any.whl (16 kB)
Requirement already satisfied: tabulate>=0.8.9 in /usr/local/lib/python3.7/dist-packages (from sacrebleu->tf-models-official>=2.5.1->object-detection==0.1) (0.8.9)
Requirement already satisfied: regex in /usr/local/lib/python3.7/dist-packages (from sacrebleu->tf-models-official>=2.5.1->object-detection==0.1) (2019.12.20)
Requirement already satisfied: scikit-learn>=0.21.3 in /usr/local/lib/python3.7/dist-packages (from seqeval->tf-models-official>=2.5.1->object-detection==0.1) (1.0.1)
Requirement already satisfied: joblib>=0.11 in /usr/local/lib/python3.7/dist-packages (from scikit-learn>=0.21.3->seqeval->tf-models-official>=2.5.1->object-detection==0.1) (1.1.0)
Requirement already satisfied: threadpoolctl>=2.0.0 in /usr/local/lib/python3.7/dist-packages (from scikit-learn>=0.21.3->seqeval->tf-models-official>=2.5.1->object-detection==0.1) (3.0.0)
Requirement already satisfied: typeguard>=2.7 in /usr/local/lib/python3.7/dist-packages (from tensorflow-addons->tf-models-official>=2.5.1->object-detection==0.1) (2.7.1)
Requirement already satisfied: attrs>=18.1.0 in /usr/local/lib/python3.7/dist-packages (from tensorflow-datasets->tf-models-official>=2.5.1->object-detection==0.1) (21.2.0)
Requirement already satisfied: importlib-resources in /usr/local/lib/python3.7/dist-packages (from tensorflow-datasets->tf-models-official>=2.5.1->object-detection==0.1) (5.4.0)
Requirement already satisfied: tensorflow-metadata in /usr/local/lib/python3.7/dist-packages (from tensorflow-datasets->tf-models-official>=2.5.1->object-detection==0.1) (1.4.0)
Requirement already satisfied: promise in /usr/local/lib/python3.7/dist-packages (from tensorflow-datasets->tf-models-official>=2.5.1->object-detection==0.1) (2.3)
Building wheels for collected packages: object-detection, py-cpuinfo, avro-python3, dill, future, seqeval
Building wheel for object-detection (setup.py): started
Building wheel for object-detection (setup.py): finished with status 'done'
Created wheel for object-detection: filename=object_detection-0.1-py3-none-any.whl size=1680866 sha256=583ad239902d8435dac4a89382c905821a491d2e6197f4702f646356311ae95e
Stored in directory: /tmp/pip-ephem-wheel-cache-t1aa3kqu/wheels/bb/5c/a6/2a195e2ac5f727b1cbeccc14afb41f516a926f5a0853a31dfd
Building wheel for py-cpuinfo (setup.py): started
Building wheel for py-cpuinfo (setup.py): finished with status 'done'
Created wheel for py-cpuinfo: filename=py_cpuinfo-8.0.0-py3-none-any.whl size=22258 sha256=4d59ed3cf1b092852f93c5c87af6e75933c78fe7c0a2640c97ff7562d60eff59
Stored in directory: /root/.cache/pip/wheels/d2/f1/1f/041add21dc9c4220157f1bd2bd6afe1f1a49524c3396b94401
Building wheel for avro-python3 (setup.py): started
Building wheel for avro-python3 (setup.py): finished with status 'done'
Created wheel for avro-python3: filename=avro_python3-1.9.2.1-py3-none-any.whl size=43512 sha256=a5dfffadfac6022d8ec0f12975c4d86e0455fb61ffd64c321ed79cb4b214958d
Stored in directory: /root/.cache/pip/wheels/bc/49/5f/fdb5b9d85055c478213e0158ac122b596816149a02d82e0ab1
Building wheel for dill (setup.py): started
Building wheel for dill (setup.py): finished with status 'done'
Created wheel for dill: filename=dill-0.3.1.1-py3-none-any.whl size=78546 sha256=ee962045535465c18313476fcc94aa0672c032636ec65504ce3669168901c9b5
Stored in directory: /root/.cache/pip/wheels/a4/61/fd/c57e374e580aa78a45ed78d5859b3a44436af17e22ca53284f
Building wheel for future (setup.py): started
Building wheel for future (setup.py): finished with status 'done'
Created wheel for future: filename=future-0.18.2-py3-none-any.whl size=491070 sha256=6d9329fe33c48e0e2cae2c9d0b63bc1eff570c9c3a4297f369bac6a40cadb6fa
Stored in directory: /root/.cache/pip/wheels/56/b0/fe/4410d17b32f1f0c3cf54cdfb2bc04d7b4b8f4ae377e2229ba0
Building wheel for seqeval (setup.py): started
Building wheel for seqeval (setup.py): finished with status 'done'
Created wheel for seqeval: filename=seqeval-1.2.2-py3-none-any.whl size=16181 sha256=430fbe6fc729932535e34e2e866ac69ca1a40c528f180be7b3fcb620373caf62
Stored in directory: /root/.cache/pip/wheels/05/96/ee/7cac4e74f3b19e3158dce26a20a1c86b3533c43ec72a549fd7
Successfully built object-detection py-cpuinfo avro-python3 dill future seqeval
Installing collected packages: requests, portalocker, future, dill, colorama, tf-slim, tensorflow-text, tensorflow-model-optimization, tensorflow-addons, seqeval, sentencepiece, sacrebleu, pyyaml, py-cpuinfo, orjson, opencv-python-headless, hdfs, fastavro, avro-python3, tf-models-official, tensorflow-io, lvis, apache-beam, object-detection
Attempting uninstall: requests
Found existing installation: requests 2.23.0
Uninstalling requests-2.23.0:
Successfully uninstalled requests-2.23.0
Attempting uninstall: future
Found existing installation: future 0.16.0
Uninstalling future-0.16.0:
Successfully uninstalled future-0.16.0
Attempting uninstall: dill
Found existing installation: dill 0.3.4
Uninstalling dill-0.3.4:
Successfully uninstalled dill-0.3.4
Attempting uninstall: pyyaml
Found existing installation: PyYAML 3.13
Uninstalling PyYAML-3.13:
Successfully uninstalled PyYAML-3.13
Successfully installed apache-beam-2.34.0 avro-python3-1.9.2.1 colorama-0.4.4 dill-0.3.1.1 fastavro-1.4.7 future-0.18.2 hdfs-2.6.0 lvis-0.5.3 object-detection-0.1 opencv-python-headless-4.5.4.60 orjson-3.6.4 portalocker-2.3.2 py-cpuinfo-8.0.0 pyyaml-6.0 requests-2.26.0 sacrebleu-2.0.0 sentencepiece-0.1.96 seqeval-1.2.2 tensorflow-addons-0.15.0 tensorflow-io-0.22.0 tensorflow-model-optimization-0.7.0 tensorflow-text-2.7.3 tf-models-official-2.7.0 tf-slim-1.1.0
WARNING: --use-feature=2020-resolver no longer has any effect, since it is now the default dependency resolver in pip. This will become an error in pip 21.0. DEPRECATION: A future pip version will change local packages to be built in-place without first copying to a temporary directory. We recommend you use --use-feature=in-tree-build to test your packages with this new behavior before it becomes the default. pip 21.3 will remove support for this functionality. You can find discussion regarding this at https://github.com/pypa/pip/issues/7555. ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. multiprocess 0.70.12.2 requires dill>=0.3.4, but you have dill 0.3.1.1 which is incompatible. google-colab 1.0.0 requires requests~=2.23.0, but you have requests 2.26.0 which is incompatible. datascience 0.10.6 requires folium==0.2.1, but you have folium 0.8.3 which is incompatible.
#Check for Object Detection API
!pip list | grep object-detection
object-detection 0.1
!mkdir detection
#Go to the project folder
%cd detection
/content/drive/My Drive/AIML/CapStone/detection
!cp '/content/drive/MyDrive/AIML/CapStone/test_df_final.csv' .
!cp '/content/drive/MyDrive/AIML/CapStone/train_df_final.csv' .
Tensorflow object detection API requires data in tfrecord format. This can be done using generate_tfrecord.py file.
The script file requires 3 inputs
--csv_input= : where is csv file located which was prepared in previous step
--img_path= : where are the actual images stored
--output_path= : where the script can save the generated tfrecord file and what should be file name. We will run script for training and test csv separately to create two tfrecord files.
#generate tfrecord for training data
!python generate_tfrecord.py --csv_input=train_df_final.csv --img_path='/content/drive/MyDrive/AIML/CapStone/Car Images/Train Images' --output_path=train.tfrecord
Successfully created the TFRecords: /content/drive/MyDrive/AIML/CapStone/detection/train.tfrecord
#generate tfrecord for training data
!python generate_tfrecord.py --csv_input=test_df_final.csv --img_path="/content/drive/MyDrive/AIML/CapStone/Car Images/Test Images" --output_path=test.tfrecord
Successfully created the TFRecords: /content/drive/MyDrive/AIML/CapStone/detection/test.tfrecord
ls -l
total 1952296 -rw-r--r-- 1 root root 4465 Nov 29 17:17 generate_tfrecord.py -rw------- 1 root root 817611 Nov 29 17:16 test_df_final.csv -rw-r--r-- 1 root root 998145296 Nov 29 17:18 test.tfrecord -rw------- 1 root root 828263 Nov 29 17:16 train_df_final.csv -rw-r--r-- 1 root root 999335395 Nov 29 17:17 train.tfrecord
#Build a pbtxt label file using label and class name
#This is required by Object detection API
pbtxt_file_txt = ''
for label in sorted(label_class_dict.keys()):
pbtxt_file_txt += "item {\n id: " + str(label) + "\n name: '" + label_class_dict[label] + "'\n}\n\n"
with open('label_map.txt','w') as pbfile:
pbfile.write(pbtxt_file_txt)
!cat label_map.txt
item {
id: 1
name: 'AM General Hummer SUV 2000'
}
item {
id: 2
name: 'Acura RL Sedan 2012'
}
item {
id: 3
name: 'Acura TL Sedan 2012'
}
item {
id: 4
name: 'Acura TL Type-S 2008'
}
item {
id: 5
name: 'Acura TSX Sedan 2012'
}
item {
id: 6
name: 'Acura Integra Type R 2001'
}
item {
id: 7
name: 'Acura ZDX Hatchback 2012'
}
item {
id: 8
name: 'Aston Martin V8 Vantage Convertible 2012'
}
item {
id: 9
name: 'Aston Martin V8 Vantage Coupe 2012'
}
item {
id: 10
name: 'Aston Martin Virage Convertible 2012'
}
item {
id: 11
name: 'Aston Martin Virage Coupe 2012'
}
item {
id: 12
name: 'Audi RS 4 Convertible 2008'
}
item {
id: 13
name: 'Audi A5 Coupe 2012'
}
item {
id: 14
name: 'Audi TTS Coupe 2012'
}
item {
id: 15
name: 'Audi R8 Coupe 2012'
}
item {
id: 16
name: 'Audi V8 Sedan 1994'
}
item {
id: 17
name: 'Audi 100 Sedan 1994'
}
item {
id: 18
name: 'Audi 100 Wagon 1994'
}
item {
id: 19
name: 'Audi TT Hatchback 2011'
}
item {
id: 20
name: 'Audi S6 Sedan 2011'
}
item {
id: 21
name: 'Audi S5 Convertible 2012'
}
item {
id: 22
name: 'Audi S5 Coupe 2012'
}
item {
id: 23
name: 'Audi S4 Sedan 2012'
}
item {
id: 24
name: 'Audi S4 Sedan 2007'
}
item {
id: 25
name: 'Audi TT RS Coupe 2012'
}
item {
id: 26
name: 'BMW ActiveHybrid 5 Sedan 2012'
}
item {
id: 27
name: 'BMW 1 Series Convertible 2012'
}
item {
id: 28
name: 'BMW 1 Series Coupe 2012'
}
item {
id: 29
name: 'BMW 3 Series Sedan 2012'
}
item {
id: 30
name: 'BMW 3 Series Wagon 2012'
}
item {
id: 31
name: 'BMW 6 Series Convertible 2007'
}
item {
id: 32
name: 'BMW X5 SUV 2007'
}
item {
id: 33
name: 'BMW X6 SUV 2012'
}
item {
id: 34
name: 'BMW M3 Coupe 2012'
}
item {
id: 35
name: 'BMW M5 Sedan 2010'
}
item {
id: 36
name: 'BMW M6 Convertible 2010'
}
item {
id: 37
name: 'BMW X3 SUV 2012'
}
item {
id: 38
name: 'BMW Z4 Convertible 2012'
}
item {
id: 39
name: 'Bentley Continental Supersports Conv. Convertible 2012'
}
item {
id: 40
name: 'Bentley Arnage Sedan 2009'
}
item {
id: 41
name: 'Bentley Mulsanne Sedan 2011'
}
item {
id: 42
name: 'Bentley Continental GT Coupe 2012'
}
item {
id: 43
name: 'Bentley Continental GT Coupe 2007'
}
item {
id: 44
name: 'Bentley Continental Flying Spur Sedan 2007'
}
item {
id: 45
name: 'Bugatti Veyron 16.4 Convertible 2009'
}
item {
id: 46
name: 'Bugatti Veyron 16.4 Coupe 2009'
}
item {
id: 47
name: 'Buick Regal GS 2012'
}
item {
id: 48
name: 'Buick Rainier SUV 2007'
}
item {
id: 49
name: 'Buick Verano Sedan 2012'
}
item {
id: 50
name: 'Buick Enclave SUV 2012'
}
item {
id: 51
name: 'Cadillac CTS-V Sedan 2012'
}
item {
id: 52
name: 'Cadillac SRX SUV 2012'
}
item {
id: 53
name: 'Cadillac Escalade EXT Crew Cab 2007'
}
item {
id: 54
name: 'Chevrolet Silverado 1500 Hybrid Crew Cab 2012'
}
item {
id: 55
name: 'Chevrolet Corvette Convertible 2012'
}
item {
id: 56
name: 'Chevrolet Corvette ZR1 2012'
}
item {
id: 57
name: 'Chevrolet Corvette Ron Fellows Edition Z06 2007'
}
item {
id: 58
name: 'Chevrolet Traverse SUV 2012'
}
item {
id: 59
name: 'Chevrolet Camaro Convertible 2012'
}
item {
id: 60
name: 'Chevrolet HHR SS 2010'
}
item {
id: 61
name: 'Chevrolet Impala Sedan 2007'
}
item {
id: 62
name: 'Chevrolet Tahoe Hybrid SUV 2012'
}
item {
id: 63
name: 'Chevrolet Sonic Sedan 2012'
}
item {
id: 64
name: 'Chevrolet Express Cargo Van 2007'
}
item {
id: 65
name: 'Chevrolet Avalanche Crew Cab 2012'
}
item {
id: 66
name: 'Chevrolet Cobalt SS 2010'
}
item {
id: 67
name: 'Chevrolet Malibu Hybrid Sedan 2010'
}
item {
id: 68
name: 'Chevrolet TrailBlazer SS 2009'
}
item {
id: 69
name: 'Chevrolet Silverado 2500HD Regular Cab 2012'
}
item {
id: 70
name: 'Chevrolet Silverado 1500 Classic Extended Cab 2007'
}
item {
id: 71
name: 'Chevrolet Express Van 2007'
}
item {
id: 72
name: 'Chevrolet Monte Carlo Coupe 2007'
}
item {
id: 73
name: 'Chevrolet Malibu Sedan 2007'
}
item {
id: 74
name: 'Chevrolet Silverado 1500 Extended Cab 2012'
}
item {
id: 75
name: 'Chevrolet Silverado 1500 Regular Cab 2012'
}
item {
id: 76
name: 'Chrysler Aspen SUV 2009'
}
item {
id: 77
name: 'Chrysler Sebring Convertible 2010'
}
item {
id: 78
name: 'Chrysler Town and Country Minivan 2012'
}
item {
id: 79
name: 'Chrysler 300 SRT-8 2010'
}
item {
id: 80
name: 'Chrysler Crossfire Convertible 2008'
}
item {
id: 81
name: 'Chrysler PT Cruiser Convertible 2008'
}
item {
id: 82
name: 'Daewoo Nubira Wagon 2002'
}
item {
id: 83
name: 'Dodge Caliber Wagon 2012'
}
item {
id: 84
name: 'Dodge Caliber Wagon 2007'
}
item {
id: 85
name: 'Dodge Caravan Minivan 1997'
}
item {
id: 86
name: 'Dodge Ram Pickup 3500 Crew Cab 2010'
}
item {
id: 87
name: 'Dodge Ram Pickup 3500 Quad Cab 2009'
}
item {
id: 88
name: 'Dodge Sprinter Cargo Van 2009'
}
item {
id: 89
name: 'Dodge Journey SUV 2012'
}
item {
id: 90
name: 'Dodge Dakota Crew Cab 2010'
}
item {
id: 91
name: 'Dodge Dakota Club Cab 2007'
}
item {
id: 92
name: 'Dodge Magnum Wagon 2008'
}
item {
id: 93
name: 'Dodge Challenger SRT8 2011'
}
item {
id: 94
name: 'Dodge Durango SUV 2012'
}
item {
id: 95
name: 'Dodge Durango SUV 2007'
}
item {
id: 96
name: 'Dodge Charger Sedan 2012'
}
item {
id: 97
name: 'Dodge Charger SRT-8 2009'
}
item {
id: 98
name: 'Eagle Talon Hatchback 1998'
}
item {
id: 99
name: 'FIAT 500 Abarth 2012'
}
item {
id: 100
name: 'FIAT 500 Convertible 2012'
}
item {
id: 101
name: 'Ferrari FF Coupe 2012'
}
item {
id: 102
name: 'Ferrari California Convertible 2012'
}
item {
id: 103
name: 'Ferrari 458 Italia Convertible 2012'
}
item {
id: 104
name: 'Ferrari 458 Italia Coupe 2012'
}
item {
id: 105
name: 'Fisker Karma Sedan 2012'
}
item {
id: 106
name: 'Ford F-450 Super Duty Crew Cab 2012'
}
item {
id: 107
name: 'Ford Mustang Convertible 2007'
}
item {
id: 108
name: 'Ford Freestar Minivan 2007'
}
item {
id: 109
name: 'Ford Expedition EL SUV 2009'
}
item {
id: 110
name: 'Ford Edge SUV 2012'
}
item {
id: 111
name: 'Ford Ranger SuperCab 2011'
}
item {
id: 112
name: 'Ford GT Coupe 2006'
}
item {
id: 113
name: 'Ford F-150 Regular Cab 2012'
}
item {
id: 114
name: 'Ford F-150 Regular Cab 2007'
}
item {
id: 115
name: 'Ford Focus Sedan 2007'
}
item {
id: 116
name: 'Ford E-Series Wagon Van 2012'
}
item {
id: 117
name: 'Ford Fiesta Sedan 2012'
}
item {
id: 118
name: 'GMC Terrain SUV 2012'
}
item {
id: 119
name: 'GMC Savana Van 2012'
}
item {
id: 120
name: 'GMC Yukon Hybrid SUV 2012'
}
item {
id: 121
name: 'GMC Acadia SUV 2012'
}
item {
id: 122
name: 'GMC Canyon Extended Cab 2012'
}
item {
id: 123
name: 'Geo Metro Convertible 1993'
}
item {
id: 124
name: 'HUMMER H3T Crew Cab 2010'
}
item {
id: 125
name: 'HUMMER H2 SUT Crew Cab 2009'
}
item {
id: 126
name: 'Honda Odyssey Minivan 2012'
}
item {
id: 127
name: 'Honda Odyssey Minivan 2007'
}
item {
id: 128
name: 'Honda Accord Coupe 2012'
}
item {
id: 129
name: 'Honda Accord Sedan 2012'
}
item {
id: 130
name: 'Hyundai Veloster Hatchback 2012'
}
item {
id: 131
name: 'Hyundai Santa Fe SUV 2012'
}
item {
id: 132
name: 'Hyundai Tucson SUV 2012'
}
item {
id: 133
name: 'Hyundai Veracruz SUV 2012'
}
item {
id: 134
name: 'Hyundai Sonata Hybrid Sedan 2012'
}
item {
id: 135
name: 'Hyundai Elantra Sedan 2007'
}
item {
id: 136
name: 'Hyundai Accent Sedan 2012'
}
item {
id: 137
name: 'Hyundai Genesis Sedan 2012'
}
item {
id: 138
name: 'Hyundai Sonata Sedan 2012'
}
item {
id: 139
name: 'Hyundai Elantra Touring Hatchback 2012'
}
item {
id: 140
name: 'Hyundai Azera Sedan 2012'
}
item {
id: 141
name: 'Infiniti G Coupe IPL 2012'
}
item {
id: 142
name: 'Infiniti QX56 SUV 2011'
}
item {
id: 143
name: 'Isuzu Ascender SUV 2008'
}
item {
id: 144
name: 'Jaguar XK XKR 2012'
}
item {
id: 145
name: 'Jeep Patriot SUV 2012'
}
item {
id: 146
name: 'Jeep Wrangler SUV 2012'
}
item {
id: 147
name: 'Jeep Liberty SUV 2012'
}
item {
id: 148
name: 'Jeep Grand Cherokee SUV 2012'
}
item {
id: 149
name: 'Jeep Compass SUV 2012'
}
item {
id: 150
name: 'Lamborghini Reventon Coupe 2008'
}
item {
id: 151
name: 'Lamborghini Aventador Coupe 2012'
}
item {
id: 152
name: 'Lamborghini Gallardo LP 570-4 Superleggera 2012'
}
item {
id: 153
name: 'Lamborghini Diablo Coupe 2001'
}
item {
id: 154
name: 'Land Rover Range Rover SUV 2012'
}
item {
id: 155
name: 'Land Rover LR2 SUV 2012'
}
item {
id: 156
name: 'Lincoln Town Car Sedan 2011'
}
item {
id: 157
name: 'MINI Cooper Roadster Convertible 2012'
}
item {
id: 158
name: 'Maybach Landaulet Convertible 2012'
}
item {
id: 159
name: 'Mazda Tribute SUV 2011'
}
item {
id: 160
name: 'McLaren MP4-12C Coupe 2012'
}
item {
id: 161
name: 'Mercedes-Benz 300-Class Convertible 1993'
}
item {
id: 162
name: 'Mercedes-Benz C-Class Sedan 2012'
}
item {
id: 163
name: 'Mercedes-Benz SL-Class Coupe 2009'
}
item {
id: 164
name: 'Mercedes-Benz E-Class Sedan 2012'
}
item {
id: 165
name: 'Mercedes-Benz S-Class Sedan 2012'
}
item {
id: 166
name: 'Mercedes-Benz Sprinter Van 2012'
}
item {
id: 167
name: 'Mitsubishi Lancer Sedan 2012'
}
item {
id: 168
name: 'Nissan Leaf Hatchback 2012'
}
item {
id: 169
name: 'Nissan NV Passenger Van 2012'
}
item {
id: 170
name: 'Nissan Juke Hatchback 2012'
}
item {
id: 171
name: 'Nissan 240SX Coupe 1998'
}
item {
id: 172
name: 'Plymouth Neon Coupe 1999'
}
item {
id: 173
name: 'Porsche Panamera Sedan 2012'
}
item {
id: 174
name: 'Ram C-V Cargo Van Minivan 2012'
}
item {
id: 175
name: 'Rolls-Royce Phantom Drophead Coupe Convertible 2012'
}
item {
id: 176
name: 'Rolls-Royce Ghost Sedan 2012'
}
item {
id: 177
name: 'Rolls-Royce Phantom Sedan 2012'
}
item {
id: 178
name: 'Scion xD Hatchback 2012'
}
item {
id: 179
name: 'Spyker C8 Convertible 2009'
}
item {
id: 180
name: 'Spyker C8 Coupe 2009'
}
item {
id: 181
name: 'Suzuki Aerio Sedan 2007'
}
item {
id: 182
name: 'Suzuki Kizashi Sedan 2012'
}
item {
id: 183
name: 'Suzuki SX4 Hatchback 2012'
}
item {
id: 184
name: 'Suzuki SX4 Sedan 2012'
}
item {
id: 185
name: 'Tesla Model S Sedan 2012'
}
item {
id: 186
name: 'Toyota Sequoia SUV 2012'
}
item {
id: 187
name: 'Toyota Camry Sedan 2012'
}
item {
id: 188
name: 'Toyota Corolla Sedan 2012'
}
item {
id: 189
name: 'Toyota 4Runner SUV 2012'
}
item {
id: 190
name: 'Volkswagen Golf Hatchback 2012'
}
item {
id: 191
name: 'Volkswagen Golf Hatchback 1991'
}
item {
id: 192
name: 'Volkswagen Beetle Hatchback 2012'
}
item {
id: 193
name: 'Volvo C30 Hatchback 2012'
}
item {
id: 194
name: 'Volvo 240 Sedan 1993'
}
item {
id: 195
name: 'Volvo XC90 SUV 2007'
}
item {
id: 196
name: 'smart fortwo Convertible 2012'
}
#download model from zoo
#!wget http://download.tensorflow.org/models/object_detection/ssd_mobilenet_v2_coco_2018_03_29.tar.gz
!wget http://download.tensorflow.org/models/object_detection/tf2/20200711/ssd_mobilenet_v2_320x320_coco17_tpu-8.tar.gz
#!wget http://download.tensorflow.org/models/object_detection/tf2/20200711/ssd_mobilenet_v2_fpnlite_320x320_coco17_tpu-8.tar.gz
#!wget http://download.tensorflow.org/models/object_detection/tf2/20200711/ssd_resnet50_v1_fpn_640x640_coco17_tpu-8.tar.gz
#Extract tar file content
#!tar -xf ssd_mobilenet_v2_coco_2018_03_29.tar.gz
!tar -xf ssd_mobilenet_v2_320x320_coco17_tpu-8.tar.gz
#!tar -xf ssd_mobilenet_v2_fpnlite_320x320_coco17_tpu-8.tar.gz
#!tar -xf ssd_resnet50_v1_fpn_640x640_coco17_tpu-8.tar.gz
Prepare Training configuration file
Change num_classes parameter to 196
For 'train_input_reader' change 'input_path' to filepath of train.record file.
For 'train_input_reader' change 'label_map_path' to filepath of label_map.txt file.
Repeat above two steps for 'eval_input_reader'.
Change fine_tune_checkpoint to filepath
Change 'batch_size' accordingly to available memory.
Change 'num_steps' to indicate how long the training will done e.g. 200000.
sample config files are available at models/research/object_detection/samples/configs
#config_file = 'ssd_mobilenet_v2_coco.config'
config_file = 'ssd_mobilenet_v2_modified.config'
#Copy training file from 'models/research/object_detection' folder to current folder
!cp /content/drive/MyDrive/AIML/CapStone/models/research/object_detection/model_main_tf2.py .
ls -l
total 2047137 drwx------ 2 root root 4096 Dec 3 12:57 detection_model/ -rw------- 1 root root 9635 Dec 3 12:57 export_inference_graph.py -rw------- 1 root root 4465 Dec 1 10:24 generate_tfrecord.py -rw------- 1 root root 11226 Dec 1 12:04 label_map.txt -rw------- 1 root root 4937 Dec 1 13:30 model_main_tf2.py drwx------ 9 root root 4096 Dec 3 16:01 models/ drwx------ 2 root root 4096 Dec 3 13:16 SSD_CAR_TF1/ drwx------ 2 root root 4096 May 10 2018 ssdlite_mobilenet_v2_coco_2018_05_09/ -rw------- 1 root root 51025348 May 10 2018 ssdlite_mobilenet_v2_coco_2018_05_09.tar.gz -rw------- 1 root root 4649 Dec 3 04:49 ssdlite_mobilenet_v2_coco.config drwx------ 2 root root 4096 Jul 11 2020 ssd_mobilenet_v2_320x320_coco17_tpu-8/ -rw------- 1 root root 46042990 Jul 11 2020 ssd_mobilenet_v2_320x320_coco17_tpu-8.tar.gz -rw------- 1 root root 4720 Dec 3 04:22 ssd_mobilenet_v2_coco.config -rw------- 1 root root 817611 Dec 1 10:23 test_df_final.csv -rw------- 1 root root 998145296 Dec 1 12:00 test.tfrecord -rw------- 1 root root 828263 Dec 1 10:23 train_df_final.csv drwx------ 2 root root 4096 Dec 1 12:15 training/ -rw------- 1 root root 6874 Dec 2 06:33 train.py -rw------- 1 root root 999335395 Dec 1 11:10 train.tfrecord
!mkdir training-tf2
#start training
!python model_main_tf2.py --model_dir=training-tf2/ --pipeline_config_path={config_file} --checkpoint_every_n=5000 --alsologtostderr
2021-12-04 14:24:26.897561: W tensorflow/core/common_runtime/gpu/gpu_bfc_allocator.cc:39] Overriding allow_growth setting because the TF_FORCE_GPU_ALLOW_GROWTH environment variable is set. Original config value was 0.
INFO:tensorflow:Using MirroredStrategy with devices ('/job:localhost/replica:0/task:0/device:GPU:0',)
I1204 14:24:26.904639 139938174281600 mirrored_strategy.py:376] Using MirroredStrategy with devices ('/job:localhost/replica:0/task:0/device:GPU:0',)
INFO:tensorflow:Maybe overwriting train_steps: None
I1204 14:24:26.909887 139938174281600 config_util.py:552] Maybe overwriting train_steps: None
INFO:tensorflow:Maybe overwriting use_bfloat16: False
I1204 14:24:26.910071 139938174281600 config_util.py:552] Maybe overwriting use_bfloat16: False
WARNING:tensorflow:From /usr/local/lib/python3.7/dist-packages/object_detection/model_lib_v2.py:558: StrategyBase.experimental_distribute_datasets_from_function (from tensorflow.python.distribute.distribute_lib) is deprecated and will be removed in a future version.
Instructions for updating:
rename to distribute_datasets_from_function
W1204 14:24:26.949319 139938174281600 deprecation.py:347] From /usr/local/lib/python3.7/dist-packages/object_detection/model_lib_v2.py:558: StrategyBase.experimental_distribute_datasets_from_function (from tensorflow.python.distribute.distribute_lib) is deprecated and will be removed in a future version.
Instructions for updating:
rename to distribute_datasets_from_function
INFO:tensorflow:Reading unweighted datasets: ['train.tfrecord']
I1204 14:24:26.998594 139938174281600 dataset_builder.py:163] Reading unweighted datasets: ['train.tfrecord']
INFO:tensorflow:Reading record datasets for input file: ['train.tfrecord']
I1204 14:24:26.998983 139938174281600 dataset_builder.py:80] Reading record datasets for input file: ['train.tfrecord']
INFO:tensorflow:Number of filenames to read: 1
I1204 14:24:26.999118 139938174281600 dataset_builder.py:81] Number of filenames to read: 1
WARNING:tensorflow:num_readers has been reduced to 1 to match input file shards.
W1204 14:24:26.999194 139938174281600 dataset_builder.py:88] num_readers has been reduced to 1 to match input file shards.
WARNING:tensorflow:From /usr/local/lib/python3.7/dist-packages/object_detection/builders/dataset_builder.py:105: parallel_interleave (from tensorflow.python.data.experimental.ops.interleave_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Use `tf.data.Dataset.interleave(map_func, cycle_length, block_length, num_parallel_calls=tf.data.AUTOTUNE)` instead. If sloppy execution is desired, use `tf.data.Options.deterministic`.
W1204 14:24:27.002976 139938174281600 deprecation.py:347] From /usr/local/lib/python3.7/dist-packages/object_detection/builders/dataset_builder.py:105: parallel_interleave (from tensorflow.python.data.experimental.ops.interleave_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Use `tf.data.Dataset.interleave(map_func, cycle_length, block_length, num_parallel_calls=tf.data.AUTOTUNE)` instead. If sloppy execution is desired, use `tf.data.Options.deterministic`.
WARNING:tensorflow:From /usr/local/lib/python3.7/dist-packages/object_detection/builders/dataset_builder.py:237: DatasetV1.map_with_legacy_function (from tensorflow.python.data.ops.dataset_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Use `tf.data.Dataset.map()
W1204 14:24:27.029023 139938174281600 deprecation.py:347] From /usr/local/lib/python3.7/dist-packages/object_detection/builders/dataset_builder.py:237: DatasetV1.map_with_legacy_function (from tensorflow.python.data.ops.dataset_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Use `tf.data.Dataset.map()
WARNING:tensorflow:From /usr/local/lib/python3.7/dist-packages/tensorflow/python/util/dispatch.py:1096: sparse_to_dense (from tensorflow.python.ops.sparse_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Create a `tf.sparse.SparseTensor` and use `tf.sparse.to_dense` instead.
W1204 14:24:34.342237 139938174281600 deprecation.py:347] From /usr/local/lib/python3.7/dist-packages/tensorflow/python/util/dispatch.py:1096: sparse_to_dense (from tensorflow.python.ops.sparse_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Create a `tf.sparse.SparseTensor` and use `tf.sparse.to_dense` instead.
WARNING:tensorflow:From /usr/local/lib/python3.7/dist-packages/tensorflow/python/util/dispatch.py:1096: sample_distorted_bounding_box (from tensorflow.python.ops.image_ops_impl) is deprecated and will be removed in a future version.
Instructions for updating:
`seed2` arg is deprecated.Use sample_distorted_bounding_box_v2 instead.
W1204 14:24:37.782964 139938174281600 deprecation.py:347] From /usr/local/lib/python3.7/dist-packages/tensorflow/python/util/dispatch.py:1096: sample_distorted_bounding_box (from tensorflow.python.ops.image_ops_impl) is deprecated and will be removed in a future version.
Instructions for updating:
`seed2` arg is deprecated.Use sample_distorted_bounding_box_v2 instead.
WARNING:tensorflow:From /usr/local/lib/python3.7/dist-packages/tensorflow/python/autograph/impl/api.py:465: to_float (from tensorflow.python.ops.math_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Use `tf.cast` instead.
W1204 14:24:40.626825 139938174281600 deprecation.py:347] From /usr/local/lib/python3.7/dist-packages/tensorflow/python/autograph/impl/api.py:465: to_float (from tensorflow.python.ops.math_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Use `tf.cast` instead.
/usr/local/lib/python3.7/dist-packages/keras/backend.py:414: UserWarning: `tf.keras.backend.set_learning_phase` is deprecated and will be removed after 2020-10-11. To update it, simply pass a True/False value to the `training` argument of the `__call__` method of your layer or model.
warnings.warn('`tf.keras.backend.set_learning_phase` is deprecated and '
INFO:tensorflow:depth of additional conv before box predictor: 0
I1204 14:24:51.843053 139932918056704 convolutional_keras_box_predictor.py:154] depth of additional conv before box predictor: 0
INFO:tensorflow:depth of additional conv before box predictor: 0
I1204 14:24:51.843378 139932918056704 convolutional_keras_box_predictor.py:154] depth of additional conv before box predictor: 0
INFO:tensorflow:depth of additional conv before box predictor: 0
I1204 14:24:51.843539 139932918056704 convolutional_keras_box_predictor.py:154] depth of additional conv before box predictor: 0
INFO:tensorflow:depth of additional conv before box predictor: 0
I1204 14:24:51.843691 139932918056704 convolutional_keras_box_predictor.py:154] depth of additional conv before box predictor: 0
INFO:tensorflow:depth of additional conv before box predictor: 0
I1204 14:24:51.843837 139932918056704 convolutional_keras_box_predictor.py:154] depth of additional conv before box predictor: 0
INFO:tensorflow:depth of additional conv before box predictor: 0
I1204 14:24:51.843983 139932918056704 convolutional_keras_box_predictor.py:154] depth of additional conv before box predictor: 0
WARNING:tensorflow:From /usr/local/lib/python3.7/dist-packages/tensorflow/python/util/deprecation.py:620: calling map_fn_v2 (from tensorflow.python.ops.map_fn) with dtype is deprecated and will be removed in a future version.
Instructions for updating:
Use fn_output_signature instead
W1204 14:25:13.451967 139932842522368 deprecation.py:551] From /usr/local/lib/python3.7/dist-packages/tensorflow/python/util/deprecation.py:620: calling map_fn_v2 (from tensorflow.python.ops.map_fn) with dtype is deprecated and will be removed in a future version.
Instructions for updating:
Use fn_output_signature instead
INFO:tensorflow:Step 100100 per-step time 0.624s
I1204 14:26:15.465970 139938174281600 model_lib_v2.py:700] Step 100100 per-step time 0.624s
INFO:tensorflow:{'Loss/classification_loss': 1.1936885,
'Loss/localization_loss': 0.022545278,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3094883,
'learning_rate': 0.0}
I1204 14:26:15.466336 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.1936885,
'Loss/localization_loss': 0.022545278,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3094883,
'learning_rate': 0.0}
INFO:tensorflow:Step 100200 per-step time 0.215s
I1204 14:26:36.999690 139938174281600 model_lib_v2.py:700] Step 100200 per-step time 0.215s
INFO:tensorflow:{'Loss/classification_loss': 1.4171543,
'Loss/localization_loss': 0.03152343,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.5419323,
'learning_rate': 0.0}
I1204 14:26:37.000015 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.4171543,
'Loss/localization_loss': 0.03152343,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.5419323,
'learning_rate': 0.0}
INFO:tensorflow:Step 100300 per-step time 0.217s
I1204 14:26:58.674908 139938174281600 model_lib_v2.py:700] Step 100300 per-step time 0.217s
INFO:tensorflow:{'Loss/classification_loss': 1.2037675,
'Loss/localization_loss': 0.042258486,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3392806,
'learning_rate': 0.0}
I1204 14:26:58.675238 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2037675,
'Loss/localization_loss': 0.042258486,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3392806,
'learning_rate': 0.0}
INFO:tensorflow:Step 100400 per-step time 0.217s
I1204 14:27:20.434248 139938174281600 model_lib_v2.py:700] Step 100400 per-step time 0.217s
INFO:tensorflow:{'Loss/classification_loss': 1.0530386,
'Loss/localization_loss': 0.01878518,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.1650784,
'learning_rate': 0.0}
I1204 14:27:20.434643 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.0530386,
'Loss/localization_loss': 0.01878518,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.1650784,
'learning_rate': 0.0}
INFO:tensorflow:Step 100500 per-step time 0.216s
I1204 14:27:41.992686 139938174281600 model_lib_v2.py:700] Step 100500 per-step time 0.216s
INFO:tensorflow:{'Loss/classification_loss': 1.3084673,
'Loss/localization_loss': 0.03919546,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4409173,
'learning_rate': 0.0}
I1204 14:27:41.993008 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.3084673,
'Loss/localization_loss': 0.03919546,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4409173,
'learning_rate': 0.0}
INFO:tensorflow:Step 100600 per-step time 0.216s
I1204 14:28:03.624181 139938174281600 model_lib_v2.py:700] Step 100600 per-step time 0.216s
INFO:tensorflow:{'Loss/classification_loss': 1.3011698,
'Loss/localization_loss': 0.021016367,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4154407,
'learning_rate': 0.0}
I1204 14:28:03.624505 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.3011698,
'Loss/localization_loss': 0.021016367,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4154407,
'learning_rate': 0.0}
INFO:tensorflow:Step 100700 per-step time 0.213s
I1204 14:28:24.916811 139938174281600 model_lib_v2.py:700] Step 100700 per-step time 0.213s
INFO:tensorflow:{'Loss/classification_loss': 1.3145688,
'Loss/localization_loss': 0.025472369,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4332957,
'learning_rate': 0.0}
I1204 14:28:24.917132 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.3145688,
'Loss/localization_loss': 0.025472369,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4332957,
'learning_rate': 0.0}
INFO:tensorflow:Step 100800 per-step time 0.218s
I1204 14:28:46.666803 139938174281600 model_lib_v2.py:700] Step 100800 per-step time 0.218s
INFO:tensorflow:{'Loss/classification_loss': 1.58646,
'Loss/localization_loss': 0.06756372,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.7472783,
'learning_rate': 0.0}
I1204 14:28:46.667156 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.58646,
'Loss/localization_loss': 0.06756372,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.7472783,
'learning_rate': 0.0}
INFO:tensorflow:Step 100900 per-step time 0.214s
I1204 14:29:08.117026 139938174281600 model_lib_v2.py:700] Step 100900 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.2867671,
'Loss/localization_loss': 0.046194438,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4262161,
'learning_rate': 0.0}
I1204 14:29:08.117417 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2867671,
'Loss/localization_loss': 0.046194438,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4262161,
'learning_rate': 0.0}
INFO:tensorflow:Step 101000 per-step time 0.216s
I1204 14:29:29.725461 139938174281600 model_lib_v2.py:700] Step 101000 per-step time 0.216s
INFO:tensorflow:{'Loss/classification_loss': 1.4731101,
'Loss/localization_loss': 0.03689106,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.6032557,
'learning_rate': 0.0}
I1204 14:29:29.726067 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.4731101,
'Loss/localization_loss': 0.03689106,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.6032557,
'learning_rate': 0.0}
INFO:tensorflow:Step 101100 per-step time 0.216s
I1204 14:29:51.256602 139938174281600 model_lib_v2.py:700] Step 101100 per-step time 0.216s
INFO:tensorflow:{'Loss/classification_loss': 1.6135097,
'Loss/localization_loss': 0.034220245,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.7409844,
'learning_rate': 0.0}
I1204 14:29:51.256933 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.6135097,
'Loss/localization_loss': 0.034220245,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.7409844,
'learning_rate': 0.0}
INFO:tensorflow:Step 101200 per-step time 0.215s
I1204 14:30:12.809112 139938174281600 model_lib_v2.py:700] Step 101200 per-step time 0.215s
INFO:tensorflow:{'Loss/classification_loss': 1.305705,
'Loss/localization_loss': 0.024843568,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4238031,
'learning_rate': 0.0}
I1204 14:30:12.809529 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.305705,
'Loss/localization_loss': 0.024843568,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4238031,
'learning_rate': 0.0}
INFO:tensorflow:Step 101300 per-step time 0.215s
I1204 14:30:34.349501 139938174281600 model_lib_v2.py:700] Step 101300 per-step time 0.215s
INFO:tensorflow:{'Loss/classification_loss': 1.318677,
'Loss/localization_loss': 0.0642699,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4762014,
'learning_rate': 0.0}
I1204 14:30:34.352999 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.318677,
'Loss/localization_loss': 0.0642699,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4762014,
'learning_rate': 0.0}
INFO:tensorflow:Step 101400 per-step time 0.217s
I1204 14:30:56.037393 139938174281600 model_lib_v2.py:700] Step 101400 per-step time 0.217s
INFO:tensorflow:{'Loss/classification_loss': 1.1306347,
'Loss/localization_loss': 0.037565492,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.2614547,
'learning_rate': 0.0}
I1204 14:30:56.037774 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.1306347,
'Loss/localization_loss': 0.037565492,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.2614547,
'learning_rate': 0.0}
INFO:tensorflow:Step 101500 per-step time 0.215s
I1204 14:31:17.533175 139938174281600 model_lib_v2.py:700] Step 101500 per-step time 0.215s
INFO:tensorflow:{'Loss/classification_loss': 1.2502123,
'Loss/localization_loss': 0.040779613,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3842465,
'learning_rate': 0.0}
I1204 14:31:17.533509 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2502123,
'Loss/localization_loss': 0.040779613,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3842465,
'learning_rate': 0.0}
INFO:tensorflow:Step 101600 per-step time 0.214s
I1204 14:31:38.975169 139938174281600 model_lib_v2.py:700] Step 101600 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.2112179,
'Loss/localization_loss': 0.023797195,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3282696,
'learning_rate': 0.0}
I1204 14:31:38.975495 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2112179,
'Loss/localization_loss': 0.023797195,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3282696,
'learning_rate': 0.0}
INFO:tensorflow:Step 101700 per-step time 0.215s
I1204 14:32:00.469486 139938174281600 model_lib_v2.py:700] Step 101700 per-step time 0.215s
INFO:tensorflow:{'Loss/classification_loss': 1.4894202,
'Loss/localization_loss': 0.023250759,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.6059256,
'learning_rate': 0.0}
I1204 14:32:00.470072 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.4894202,
'Loss/localization_loss': 0.023250759,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.6059256,
'learning_rate': 0.0}
INFO:tensorflow:Step 101800 per-step time 0.215s
I1204 14:32:21.954021 139938174281600 model_lib_v2.py:700] Step 101800 per-step time 0.215s
INFO:tensorflow:{'Loss/classification_loss': 1.2823067,
'Loss/localization_loss': 0.03021246,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4057736,
'learning_rate': 0.0}
I1204 14:32:21.954356 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2823067,
'Loss/localization_loss': 0.03021246,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4057736,
'learning_rate': 0.0}
INFO:tensorflow:Step 101900 per-step time 0.216s
I1204 14:32:43.590438 139938174281600 model_lib_v2.py:700] Step 101900 per-step time 0.216s
INFO:tensorflow:{'Loss/classification_loss': 1.3459141,
'Loss/localization_loss': 0.029265396,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4684341,
'learning_rate': 0.0}
I1204 14:32:43.590804 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.3459141,
'Loss/localization_loss': 0.029265396,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4684341,
'learning_rate': 0.0}
INFO:tensorflow:Step 102000 per-step time 0.217s
I1204 14:33:05.315827 139938174281600 model_lib_v2.py:700] Step 102000 per-step time 0.217s
INFO:tensorflow:{'Loss/classification_loss': 1.3848962,
'Loss/localization_loss': 0.041178923,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.5193297,
'learning_rate': 0.0}
I1204 14:33:05.316364 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.3848962,
'Loss/localization_loss': 0.041178923,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.5193297,
'learning_rate': 0.0}
INFO:tensorflow:Step 102100 per-step time 0.217s
I1204 14:33:27.023940 139938174281600 model_lib_v2.py:700] Step 102100 per-step time 0.217s
INFO:tensorflow:{'Loss/classification_loss': 1.3688837,
'Loss/localization_loss': 0.03975738,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.5018957,
'learning_rate': 0.0}
I1204 14:33:27.024381 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.3688837,
'Loss/localization_loss': 0.03975738,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.5018957,
'learning_rate': 0.0}
INFO:tensorflow:Step 102200 per-step time 0.215s
I1204 14:33:48.573574 139938174281600 model_lib_v2.py:700] Step 102200 per-step time 0.215s
INFO:tensorflow:{'Loss/classification_loss': 1.2796179,
'Loss/localization_loss': 0.06341811,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4362906,
'learning_rate': 0.0}
I1204 14:33:48.574011 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2796179,
'Loss/localization_loss': 0.06341811,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4362906,
'learning_rate': 0.0}
INFO:tensorflow:Step 102300 per-step time 0.213s
I1204 14:34:09.866600 139938174281600 model_lib_v2.py:700] Step 102300 per-step time 0.213s
INFO:tensorflow:{'Loss/classification_loss': 1.3119584,
'Loss/localization_loss': 0.017973835,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4231868,
'learning_rate': 0.0}
I1204 14:34:09.869847 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.3119584,
'Loss/localization_loss': 0.017973835,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4231868,
'learning_rate': 0.0}
INFO:tensorflow:Step 102400 per-step time 0.214s
I1204 14:34:31.232904 139938174281600 model_lib_v2.py:700] Step 102400 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.4011706,
'Loss/localization_loss': 0.04019952,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.5346247,
'learning_rate': 0.0}
I1204 14:34:31.233229 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.4011706,
'Loss/localization_loss': 0.04019952,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.5346247,
'learning_rate': 0.0}
INFO:tensorflow:Step 102500 per-step time 0.214s
I1204 14:34:52.640349 139938174281600 model_lib_v2.py:700] Step 102500 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.3496482,
'Loss/localization_loss': 0.03400726,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4769101,
'learning_rate': 0.0}
I1204 14:34:52.640707 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.3496482,
'Loss/localization_loss': 0.03400726,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4769101,
'learning_rate': 0.0}
INFO:tensorflow:Step 102600 per-step time 0.216s
I1204 14:35:14.268256 139938174281600 model_lib_v2.py:700] Step 102600 per-step time 0.216s
INFO:tensorflow:{'Loss/classification_loss': 1.2597919,
'Loss/localization_loss': 0.024292573,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.377339,
'learning_rate': 0.0}
I1204 14:35:14.268661 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2597919,
'Loss/localization_loss': 0.024292573,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.377339,
'learning_rate': 0.0}
INFO:tensorflow:Step 102700 per-step time 0.216s
I1204 14:35:35.842431 139938174281600 model_lib_v2.py:700] Step 102700 per-step time 0.216s
INFO:tensorflow:{'Loss/classification_loss': 1.3300365,
'Loss/localization_loss': 0.023280675,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4465717,
'learning_rate': 0.0}
I1204 14:35:35.842824 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.3300365,
'Loss/localization_loss': 0.023280675,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4465717,
'learning_rate': 0.0}
INFO:tensorflow:Step 102800 per-step time 0.215s
I1204 14:35:57.333095 139938174281600 model_lib_v2.py:700] Step 102800 per-step time 0.215s
INFO:tensorflow:{'Loss/classification_loss': 1.3419615,
'Loss/localization_loss': 0.053327445,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4885435,
'learning_rate': 0.0}
I1204 14:35:57.333412 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.3419615,
'Loss/localization_loss': 0.053327445,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4885435,
'learning_rate': 0.0}
INFO:tensorflow:Step 102900 per-step time 0.213s
I1204 14:36:18.677168 139938174281600 model_lib_v2.py:700] Step 102900 per-step time 0.213s
INFO:tensorflow:{'Loss/classification_loss': 1.2650288,
'Loss/localization_loss': 0.024963992,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3832474,
'learning_rate': 0.0}
I1204 14:36:18.677513 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2650288,
'Loss/localization_loss': 0.024963992,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3832474,
'learning_rate': 0.0}
INFO:tensorflow:Step 103000 per-step time 0.214s
I1204 14:36:40.127548 139938174281600 model_lib_v2.py:700] Step 103000 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.4478487,
'Loss/localization_loss': 0.06760251,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.6087058,
'learning_rate': 0.0}
I1204 14:36:40.129378 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.4478487,
'Loss/localization_loss': 0.06760251,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.6087058,
'learning_rate': 0.0}
INFO:tensorflow:Step 103100 per-step time 0.215s
I1204 14:37:01.616405 139938174281600 model_lib_v2.py:700] Step 103100 per-step time 0.215s
INFO:tensorflow:{'Loss/classification_loss': 1.2958201,
'Loss/localization_loss': 0.027744727,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4168195,
'learning_rate': 0.0}
I1204 14:37:01.616754 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2958201,
'Loss/localization_loss': 0.027744727,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4168195,
'learning_rate': 0.0}
INFO:tensorflow:Step 103200 per-step time 0.213s
I1204 14:37:22.886765 139938174281600 model_lib_v2.py:700] Step 103200 per-step time 0.213s
INFO:tensorflow:{'Loss/classification_loss': 1.5903201,
'Loss/localization_loss': 0.03526456,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.7188393,
'learning_rate': 0.0}
I1204 14:37:22.887090 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.5903201,
'Loss/localization_loss': 0.03526456,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.7188393,
'learning_rate': 0.0}
INFO:tensorflow:Step 103300 per-step time 0.214s
I1204 14:37:44.262959 139938174281600 model_lib_v2.py:700] Step 103300 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.3794954,
'Loss/localization_loss': 0.029756311,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.5025063,
'learning_rate': 0.0}
I1204 14:37:44.263362 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.3794954,
'Loss/localization_loss': 0.029756311,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.5025063,
'learning_rate': 0.0}
INFO:tensorflow:Step 103400 per-step time 0.212s
I1204 14:38:05.422361 139938174281600 model_lib_v2.py:700] Step 103400 per-step time 0.212s
INFO:tensorflow:{'Loss/classification_loss': 1.2239571,
'Loss/localization_loss': 0.046715822,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3639275,
'learning_rate': 0.0}
I1204 14:38:05.422692 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2239571,
'Loss/localization_loss': 0.046715822,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3639275,
'learning_rate': 0.0}
INFO:tensorflow:Step 103500 per-step time 0.216s
I1204 14:38:27.012610 139938174281600 model_lib_v2.py:700] Step 103500 per-step time 0.216s
INFO:tensorflow:{'Loss/classification_loss': 1.4984785,
'Loss/localization_loss': 0.034301765,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.6260349,
'learning_rate': 0.0}
I1204 14:38:27.013022 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.4984785,
'Loss/localization_loss': 0.034301765,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.6260349,
'learning_rate': 0.0}
INFO:tensorflow:Step 103600 per-step time 0.212s
I1204 14:38:48.185114 139938174281600 model_lib_v2.py:700] Step 103600 per-step time 0.212s
INFO:tensorflow:{'Loss/classification_loss': 1.2641097,
'Loss/localization_loss': 0.03359271,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.390957,
'learning_rate': 0.0}
I1204 14:38:48.185459 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2641097,
'Loss/localization_loss': 0.03359271,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.390957,
'learning_rate': 0.0}
INFO:tensorflow:Step 103700 per-step time 0.214s
I1204 14:39:09.637636 139938174281600 model_lib_v2.py:700] Step 103700 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.4711441,
'Loss/localization_loss': 0.07778551,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.6421841,
'learning_rate': 0.0}
I1204 14:39:09.638079 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.4711441,
'Loss/localization_loss': 0.07778551,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.6421841,
'learning_rate': 0.0}
INFO:tensorflow:Step 103800 per-step time 0.212s
I1204 14:39:30.827024 139938174281600 model_lib_v2.py:700] Step 103800 per-step time 0.212s
INFO:tensorflow:{'Loss/classification_loss': 1.4231517,
'Loss/localization_loss': 0.059550002,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.5759563,
'learning_rate': 0.0}
I1204 14:39:30.827340 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.4231517,
'Loss/localization_loss': 0.059550002,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.5759563,
'learning_rate': 0.0}
INFO:tensorflow:Step 103900 per-step time 0.213s
I1204 14:39:52.127807 139938174281600 model_lib_v2.py:700] Step 103900 per-step time 0.213s
INFO:tensorflow:{'Loss/classification_loss': 1.5251584,
'Loss/localization_loss': 0.064103544,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.6825166,
'learning_rate': 0.0}
I1204 14:39:52.128125 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.5251584,
'Loss/localization_loss': 0.064103544,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.6825166,
'learning_rate': 0.0}
INFO:tensorflow:Step 104000 per-step time 0.215s
I1204 14:40:13.600935 139938174281600 model_lib_v2.py:700] Step 104000 per-step time 0.215s
INFO:tensorflow:{'Loss/classification_loss': 1.371288,
'Loss/localization_loss': 0.024944223,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4894867,
'learning_rate': 0.0}
I1204 14:40:13.601240 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.371288,
'Loss/localization_loss': 0.024944223,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4894867,
'learning_rate': 0.0}
INFO:tensorflow:Step 104100 per-step time 0.213s
I1204 14:40:34.924492 139938174281600 model_lib_v2.py:700] Step 104100 per-step time 0.213s
INFO:tensorflow:{'Loss/classification_loss': 1.5005907,
'Loss/localization_loss': 0.030264068,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.6241093,
'learning_rate': 0.0}
I1204 14:40:34.924830 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.5005907,
'Loss/localization_loss': 0.030264068,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.6241093,
'learning_rate': 0.0}
INFO:tensorflow:Step 104200 per-step time 0.214s
I1204 14:40:56.295690 139938174281600 model_lib_v2.py:700] Step 104200 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.2598825,
'Loss/localization_loss': 0.041887123,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3950242,
'learning_rate': 0.0}
I1204 14:40:56.296084 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2598825,
'Loss/localization_loss': 0.041887123,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3950242,
'learning_rate': 0.0}
INFO:tensorflow:Step 104300 per-step time 0.214s
I1204 14:41:17.731293 139938174281600 model_lib_v2.py:700] Step 104300 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.4702157,
'Loss/localization_loss': 0.01607725,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.5795475,
'learning_rate': 0.0}
I1204 14:41:17.731624 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.4702157,
'Loss/localization_loss': 0.01607725,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.5795475,
'learning_rate': 0.0}
INFO:tensorflow:Step 104400 per-step time 0.215s
I1204 14:41:39.190027 139938174281600 model_lib_v2.py:700] Step 104400 per-step time 0.215s
INFO:tensorflow:{'Loss/classification_loss': 1.5611819,
'Loss/localization_loss': 0.10675874,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.7611952,
'learning_rate': 0.0}
I1204 14:41:39.190339 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.5611819,
'Loss/localization_loss': 0.10675874,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.7611952,
'learning_rate': 0.0}
INFO:tensorflow:Step 104500 per-step time 0.213s
I1204 14:42:00.533234 139938174281600 model_lib_v2.py:700] Step 104500 per-step time 0.213s
INFO:tensorflow:{'Loss/classification_loss': 1.2003078,
'Loss/localization_loss': 0.019511506,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3130739,
'learning_rate': 0.0}
I1204 14:42:00.533644 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2003078,
'Loss/localization_loss': 0.019511506,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3130739,
'learning_rate': 0.0}
INFO:tensorflow:Step 104600 per-step time 0.212s
I1204 14:42:21.742735 139938174281600 model_lib_v2.py:700] Step 104600 per-step time 0.212s
INFO:tensorflow:{'Loss/classification_loss': 1.2844574,
'Loss/localization_loss': 0.045665942,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.423378,
'learning_rate': 0.0}
I1204 14:42:21.743227 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2844574,
'Loss/localization_loss': 0.045665942,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.423378,
'learning_rate': 0.0}
INFO:tensorflow:Step 104700 per-step time 0.212s
I1204 14:42:42.996994 139938174281600 model_lib_v2.py:700] Step 104700 per-step time 0.212s
INFO:tensorflow:{'Loss/classification_loss': 1.3063581,
'Loss/localization_loss': 0.02864834,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.428261,
'learning_rate': 0.0}
I1204 14:42:42.997400 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.3063581,
'Loss/localization_loss': 0.02864834,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.428261,
'learning_rate': 0.0}
INFO:tensorflow:Step 104800 per-step time 0.213s
I1204 14:43:04.293307 139938174281600 model_lib_v2.py:700] Step 104800 per-step time 0.213s
INFO:tensorflow:{'Loss/classification_loss': 1.4473264,
'Loss/localization_loss': 0.036152057,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.576733,
'learning_rate': 0.0}
I1204 14:43:04.293871 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.4473264,
'Loss/localization_loss': 0.036152057,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.576733,
'learning_rate': 0.0}
INFO:tensorflow:Step 104900 per-step time 0.213s
I1204 14:43:25.548467 139938174281600 model_lib_v2.py:700] Step 104900 per-step time 0.213s
INFO:tensorflow:{'Loss/classification_loss': 1.3402432,
'Loss/localization_loss': 0.058600247,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4920981,
'learning_rate': 0.0}
I1204 14:43:25.548793 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.3402432,
'Loss/localization_loss': 0.058600247,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4920981,
'learning_rate': 0.0}
INFO:tensorflow:Step 105000 per-step time 0.212s
I1204 14:43:46.705169 139938174281600 model_lib_v2.py:700] Step 105000 per-step time 0.212s
INFO:tensorflow:{'Loss/classification_loss': 1.2469746,
'Loss/localization_loss': 0.023452707,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3636819,
'learning_rate': 0.0}
I1204 14:43:46.705491 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2469746,
'Loss/localization_loss': 0.023452707,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3636819,
'learning_rate': 0.0}
INFO:tensorflow:Reduce to /job:localhost/replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).
I1204 14:43:46.793976 139938174281600 cross_device_ops.py:621] Reduce to /job:localhost/replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).
INFO:tensorflow:Reduce to /job:localhost/replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).
I1204 14:43:46.795429 139938174281600 cross_device_ops.py:621] Reduce to /job:localhost/replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).
INFO:tensorflow:Reduce to /job:localhost/replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).
I1204 14:43:46.797670 139938174281600 cross_device_ops.py:621] Reduce to /job:localhost/replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).
INFO:tensorflow:Reduce to /job:localhost/replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).
I1204 14:43:46.798616 139938174281600 cross_device_ops.py:621] Reduce to /job:localhost/replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).
INFO:tensorflow:Reduce to /job:localhost/replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).
I1204 14:43:46.800829 139938174281600 cross_device_ops.py:621] Reduce to /job:localhost/replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).
INFO:tensorflow:Reduce to /job:localhost/replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).
I1204 14:43:46.801770 139938174281600 cross_device_ops.py:621] Reduce to /job:localhost/replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).
INFO:tensorflow:Reduce to /job:localhost/replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).
I1204 14:43:46.803978 139938174281600 cross_device_ops.py:621] Reduce to /job:localhost/replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).
INFO:tensorflow:Reduce to /job:localhost/replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).
I1204 14:43:46.804917 139938174281600 cross_device_ops.py:621] Reduce to /job:localhost/replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).
INFO:tensorflow:Reduce to /job:localhost/replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).
I1204 14:43:46.807139 139938174281600 cross_device_ops.py:621] Reduce to /job:localhost/replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).
INFO:tensorflow:Reduce to /job:localhost/replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).
I1204 14:43:46.808083 139938174281600 cross_device_ops.py:621] Reduce to /job:localhost/replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).
INFO:tensorflow:Step 105100 per-step time 0.221s
I1204 14:44:08.829896 139938174281600 model_lib_v2.py:700] Step 105100 per-step time 0.221s
INFO:tensorflow:{'Loss/classification_loss': 1.4018472,
'Loss/localization_loss': 0.02632154,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.5214233,
'learning_rate': 0.0}
I1204 14:44:08.830225 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.4018472,
'Loss/localization_loss': 0.02632154,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.5214233,
'learning_rate': 0.0}
INFO:tensorflow:Step 105200 per-step time 0.212s
I1204 14:44:30.022040 139938174281600 model_lib_v2.py:700] Step 105200 per-step time 0.212s
INFO:tensorflow:{'Loss/classification_loss': 1.139728,
'Loss/localization_loss': 0.02262154,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.255604,
'learning_rate': 0.0}
I1204 14:44:30.022375 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.139728,
'Loss/localization_loss': 0.02262154,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.255604,
'learning_rate': 0.0}
INFO:tensorflow:Step 105300 per-step time 0.216s
I1204 14:44:51.650743 139938174281600 model_lib_v2.py:700] Step 105300 per-step time 0.216s
INFO:tensorflow:{'Loss/classification_loss': 1.5432848,
'Loss/localization_loss': 0.060016576,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.696556,
'learning_rate': 0.0}
I1204 14:44:51.651175 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.5432848,
'Loss/localization_loss': 0.060016576,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.696556,
'learning_rate': 0.0}
INFO:tensorflow:Step 105400 per-step time 0.212s
I1204 14:45:12.837935 139938174281600 model_lib_v2.py:700] Step 105400 per-step time 0.212s
INFO:tensorflow:{'Loss/classification_loss': 1.2830626,
'Loss/localization_loss': 0.03874696,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4150641,
'learning_rate': 0.0}
I1204 14:45:12.838317 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2830626,
'Loss/localization_loss': 0.03874696,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4150641,
'learning_rate': 0.0}
INFO:tensorflow:Step 105500 per-step time 0.214s
I1204 14:45:34.186414 139938174281600 model_lib_v2.py:700] Step 105500 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.4486792,
'Loss/localization_loss': 0.024725588,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.5666593,
'learning_rate': 0.0}
I1204 14:45:34.186735 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.4486792,
'Loss/localization_loss': 0.024725588,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.5666593,
'learning_rate': 0.0}
INFO:tensorflow:Step 105600 per-step time 0.212s
I1204 14:45:55.427846 139938174281600 model_lib_v2.py:700] Step 105600 per-step time 0.212s
INFO:tensorflow:{'Loss/classification_loss': 1.1422786,
'Loss/localization_loss': 0.019442838,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.2549759,
'learning_rate': 0.0}
I1204 14:45:55.428155 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.1422786,
'Loss/localization_loss': 0.019442838,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.2549759,
'learning_rate': 0.0}
INFO:tensorflow:Step 105700 per-step time 0.213s
I1204 14:46:16.712813 139938174281600 model_lib_v2.py:700] Step 105700 per-step time 0.213s
INFO:tensorflow:{'Loss/classification_loss': 1.2625788,
'Loss/localization_loss': 0.028220017,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3840535,
'learning_rate': 0.0}
I1204 14:46:16.713194 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2625788,
'Loss/localization_loss': 0.028220017,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3840535,
'learning_rate': 0.0}
INFO:tensorflow:Step 105800 per-step time 0.214s
I1204 14:46:38.079365 139938174281600 model_lib_v2.py:700] Step 105800 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.5239432,
'Loss/localization_loss': 0.058523234,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.6757209,
'learning_rate': 0.0}
I1204 14:46:38.079710 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.5239432,
'Loss/localization_loss': 0.058523234,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.6757209,
'learning_rate': 0.0}
INFO:tensorflow:Step 105900 per-step time 0.212s
I1204 14:46:59.251302 139938174281600 model_lib_v2.py:700] Step 105900 per-step time 0.212s
INFO:tensorflow:{'Loss/classification_loss': 1.5411364,
'Loss/localization_loss': 0.025037127,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.6594281,
'learning_rate': 0.0}
I1204 14:46:59.251851 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.5411364,
'Loss/localization_loss': 0.025037127,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.6594281,
'learning_rate': 0.0}
INFO:tensorflow:Step 106000 per-step time 0.213s
I1204 14:47:20.535864 139938174281600 model_lib_v2.py:700] Step 106000 per-step time 0.213s
INFO:tensorflow:{'Loss/classification_loss': 1.233445,
'Loss/localization_loss': 0.021522155,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3482218,
'learning_rate': 0.0}
I1204 14:47:20.536179 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.233445,
'Loss/localization_loss': 0.021522155,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3482218,
'learning_rate': 0.0}
INFO:tensorflow:Step 106100 per-step time 0.212s
I1204 14:47:41.710822 139938174281600 model_lib_v2.py:700] Step 106100 per-step time 0.212s
INFO:tensorflow:{'Loss/classification_loss': 1.2464173,
'Loss/localization_loss': 0.03390813,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.37358,
'learning_rate': 0.0}
I1204 14:47:41.711266 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2464173,
'Loss/localization_loss': 0.03390813,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.37358,
'learning_rate': 0.0}
INFO:tensorflow:Step 106200 per-step time 0.213s
I1204 14:48:03.083506 139938174281600 model_lib_v2.py:700] Step 106200 per-step time 0.213s
INFO:tensorflow:{'Loss/classification_loss': 1.5428779,
'Loss/localization_loss': 0.06906326,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.7051958,
'learning_rate': 0.0}
I1204 14:48:03.083929 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.5428779,
'Loss/localization_loss': 0.06906326,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.7051958,
'learning_rate': 0.0}
INFO:tensorflow:Step 106300 per-step time 0.215s
I1204 14:48:24.504356 139938174281600 model_lib_v2.py:700] Step 106300 per-step time 0.215s
INFO:tensorflow:{'Loss/classification_loss': 1.5203099,
'Loss/localization_loss': 0.045661613,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.6592261,
'learning_rate': 0.0}
I1204 14:48:24.504670 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.5203099,
'Loss/localization_loss': 0.045661613,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.6592261,
'learning_rate': 0.0}
INFO:tensorflow:Step 106400 per-step time 0.213s
I1204 14:48:45.847807 139938174281600 model_lib_v2.py:700] Step 106400 per-step time 0.213s
INFO:tensorflow:{'Loss/classification_loss': 1.4950857,
'Loss/localization_loss': 0.020573037,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.6089133,
'learning_rate': 0.0}
I1204 14:48:45.848150 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.4950857,
'Loss/localization_loss': 0.020573037,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.6089133,
'learning_rate': 0.0}
INFO:tensorflow:Step 106500 per-step time 0.210s
I1204 14:49:06.902013 139938174281600 model_lib_v2.py:700] Step 106500 per-step time 0.210s
INFO:tensorflow:{'Loss/classification_loss': 1.4195867,
'Loss/localization_loss': 0.04966303,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.5625043,
'learning_rate': 0.0}
I1204 14:49:06.902331 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.4195867,
'Loss/localization_loss': 0.04966303,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.5625043,
'learning_rate': 0.0}
INFO:tensorflow:Step 106600 per-step time 0.213s
I1204 14:49:28.236129 139938174281600 model_lib_v2.py:700] Step 106600 per-step time 0.213s
INFO:tensorflow:{'Loss/classification_loss': 1.8316644,
'Loss/localization_loss': 0.07467041,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.9995894,
'learning_rate': 0.0}
I1204 14:49:28.236590 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.8316644,
'Loss/localization_loss': 0.07467041,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.9995894,
'learning_rate': 0.0}
INFO:tensorflow:Step 106700 per-step time 0.212s
I1204 14:49:49.459980 139938174281600 model_lib_v2.py:700] Step 106700 per-step time 0.212s
INFO:tensorflow:{'Loss/classification_loss': 1.3897882,
'Loss/localization_loss': 0.028106462,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.5111492,
'learning_rate': 0.0}
I1204 14:49:49.460292 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.3897882,
'Loss/localization_loss': 0.028106462,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.5111492,
'learning_rate': 0.0}
INFO:tensorflow:Step 106800 per-step time 0.214s
I1204 14:50:10.892390 139938174281600 model_lib_v2.py:700] Step 106800 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.5427656,
'Loss/localization_loss': 0.04118809,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.6772083,
'learning_rate': 0.0}
I1204 14:50:10.892719 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.5427656,
'Loss/localization_loss': 0.04118809,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.6772083,
'learning_rate': 0.0}
INFO:tensorflow:Step 106900 per-step time 0.214s
I1204 14:50:32.241622 139938174281600 model_lib_v2.py:700] Step 106900 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.4369018,
'Loss/localization_loss': 0.022765305,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.5529217,
'learning_rate': 0.0}
I1204 14:50:32.241967 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.4369018,
'Loss/localization_loss': 0.022765305,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.5529217,
'learning_rate': 0.0}
INFO:tensorflow:Step 107000 per-step time 0.214s
I1204 14:50:53.608258 139938174281600 model_lib_v2.py:700] Step 107000 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.2720854,
'Loss/localization_loss': 0.037611872,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4029518,
'learning_rate': 0.0}
I1204 14:50:53.608654 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2720854,
'Loss/localization_loss': 0.037611872,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4029518,
'learning_rate': 0.0}
INFO:tensorflow:Step 107100 per-step time 0.216s
I1204 14:51:15.194942 139938174281600 model_lib_v2.py:700] Step 107100 per-step time 0.216s
INFO:tensorflow:{'Loss/classification_loss': 1.4176798,
'Loss/localization_loss': 0.038815573,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.54975,
'learning_rate': 0.0}
I1204 14:51:15.195433 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.4176798,
'Loss/localization_loss': 0.038815573,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.54975,
'learning_rate': 0.0}
INFO:tensorflow:Step 107200 per-step time 0.215s
I1204 14:51:36.692460 139938174281600 model_lib_v2.py:700] Step 107200 per-step time 0.215s
INFO:tensorflow:{'Loss/classification_loss': 1.2490822,
'Loss/localization_loss': 0.03248308,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3748199,
'learning_rate': 0.0}
I1204 14:51:36.692793 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2490822,
'Loss/localization_loss': 0.03248308,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3748199,
'learning_rate': 0.0}
INFO:tensorflow:Step 107300 per-step time 0.212s
I1204 14:51:57.931081 139938174281600 model_lib_v2.py:700] Step 107300 per-step time 0.212s
INFO:tensorflow:{'Loss/classification_loss': 1.2931652,
'Loss/localization_loss': 0.030801872,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4172217,
'learning_rate': 0.0}
I1204 14:51:57.931524 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2931652,
'Loss/localization_loss': 0.030801872,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4172217,
'learning_rate': 0.0}
INFO:tensorflow:Step 107400 per-step time 0.213s
I1204 14:52:19.203116 139938174281600 model_lib_v2.py:700] Step 107400 per-step time 0.213s
INFO:tensorflow:{'Loss/classification_loss': 1.316853,
'Loss/localization_loss': 0.045610253,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4557179,
'learning_rate': 0.0}
I1204 14:52:19.203439 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.316853,
'Loss/localization_loss': 0.045610253,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4557179,
'learning_rate': 0.0}
INFO:tensorflow:Step 107500 per-step time 0.214s
I1204 14:52:40.573741 139938174281600 model_lib_v2.py:700] Step 107500 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.306227,
'Loss/localization_loss': 0.039747447,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.439229,
'learning_rate': 0.0}
I1204 14:52:40.574083 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.306227,
'Loss/localization_loss': 0.039747447,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.439229,
'learning_rate': 0.0}
INFO:tensorflow:Step 107600 per-step time 0.215s
I1204 14:53:02.041851 139938174281600 model_lib_v2.py:700] Step 107600 per-step time 0.215s
INFO:tensorflow:{'Loss/classification_loss': 1.4446914,
'Loss/localization_loss': 0.07053944,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.6084855,
'learning_rate': 0.0}
I1204 14:53:02.042258 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.4446914,
'Loss/localization_loss': 0.07053944,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.6084855,
'learning_rate': 0.0}
INFO:tensorflow:Step 107700 per-step time 0.213s
I1204 14:53:23.299120 139938174281600 model_lib_v2.py:700] Step 107700 per-step time 0.213s
INFO:tensorflow:{'Loss/classification_loss': 1.2592089,
'Loss/localization_loss': 0.06512918,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4175926,
'learning_rate': 0.0}
I1204 14:53:23.299482 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2592089,
'Loss/localization_loss': 0.06512918,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4175926,
'learning_rate': 0.0}
INFO:tensorflow:Step 107900 per-step time 0.212s
I1204 14:54:06.121511 139938174281600 model_lib_v2.py:700] Step 107900 per-step time 0.212s
INFO:tensorflow:{'Loss/classification_loss': 1.4892577,
'Loss/localization_loss': 0.053161338,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.6356736,
'learning_rate': 0.0}
I1204 14:54:06.121858 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.4892577,
'Loss/localization_loss': 0.053161338,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.6356736,
'learning_rate': 0.0}
INFO:tensorflow:Step 108000 per-step time 0.211s
I1204 14:54:27.271383 139938174281600 model_lib_v2.py:700] Step 108000 per-step time 0.211s
INFO:tensorflow:{'Loss/classification_loss': 1.3364524,
'Loss/localization_loss': 0.032154344,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4618613,
'learning_rate': 0.0}
I1204 14:54:27.271770 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.3364524,
'Loss/localization_loss': 0.032154344,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4618613,
'learning_rate': 0.0}
INFO:tensorflow:Step 108100 per-step time 0.215s
I1204 14:54:48.786891 139938174281600 model_lib_v2.py:700] Step 108100 per-step time 0.215s
INFO:tensorflow:{'Loss/classification_loss': 1.1159904,
'Loss/localization_loss': 0.038445126,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.2476901,
'learning_rate': 0.0}
I1204 14:54:48.787252 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.1159904,
'Loss/localization_loss': 0.038445126,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.2476901,
'learning_rate': 0.0}
INFO:tensorflow:Step 108200 per-step time 0.214s
I1204 14:55:10.211860 139938174281600 model_lib_v2.py:700] Step 108200 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.4234893,
'Loss/localization_loss': 0.04620211,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.562946,
'learning_rate': 0.0}
I1204 14:55:10.212219 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.4234893,
'Loss/localization_loss': 0.04620211,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.562946,
'learning_rate': 0.0}
INFO:tensorflow:Step 108300 per-step time 0.214s
I1204 14:55:31.593719 139938174281600 model_lib_v2.py:700] Step 108300 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.248746,
'Loss/localization_loss': 0.035962053,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3779627,
'learning_rate': 0.0}
I1204 14:55:31.594038 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.248746,
'Loss/localization_loss': 0.035962053,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3779627,
'learning_rate': 0.0}
INFO:tensorflow:Step 108400 per-step time 0.215s
I1204 14:55:53.076868 139938174281600 model_lib_v2.py:700] Step 108400 per-step time 0.215s
INFO:tensorflow:{'Loss/classification_loss': 1.2924216,
'Loss/localization_loss': 0.03478012,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4204563,
'learning_rate': 0.0}
I1204 14:55:53.077180 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2924216,
'Loss/localization_loss': 0.03478012,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4204563,
'learning_rate': 0.0}
INFO:tensorflow:Step 108500 per-step time 0.214s
I1204 14:56:14.499721 139938174281600 model_lib_v2.py:700] Step 108500 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.2430223,
'Loss/localization_loss': 0.03986028,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3761371,
'learning_rate': 0.0}
I1204 14:56:14.500041 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2430223,
'Loss/localization_loss': 0.03986028,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3761371,
'learning_rate': 0.0}
INFO:tensorflow:Step 108600 per-step time 0.215s
I1204 14:56:36.014000 139938174281600 model_lib_v2.py:700] Step 108600 per-step time 0.215s
INFO:tensorflow:{'Loss/classification_loss': 1.2884767,
'Loss/localization_loss': 0.040748682,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.42248,
'learning_rate': 0.0}
I1204 14:56:36.014312 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2884767,
'Loss/localization_loss': 0.040748682,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.42248,
'learning_rate': 0.0}
INFO:tensorflow:Step 108700 per-step time 0.216s
I1204 14:56:57.643172 139938174281600 model_lib_v2.py:700] Step 108700 per-step time 0.216s
INFO:tensorflow:{'Loss/classification_loss': 1.430364,
'Loss/localization_loss': 0.05990843,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.583527,
'learning_rate': 0.0}
I1204 14:56:57.643525 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.430364,
'Loss/localization_loss': 0.05990843,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.583527,
'learning_rate': 0.0}
INFO:tensorflow:Step 108800 per-step time 0.215s
I1204 14:57:19.159367 139938174281600 model_lib_v2.py:700] Step 108800 per-step time 0.215s
INFO:tensorflow:{'Loss/classification_loss': 1.2149732,
'Loss/localization_loss': 0.016863015,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3250908,
'learning_rate': 0.0}
I1204 14:57:19.159709 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2149732,
'Loss/localization_loss': 0.016863015,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3250908,
'learning_rate': 0.0}
INFO:tensorflow:Step 108900 per-step time 0.214s
I1204 14:57:40.598269 139938174281600 model_lib_v2.py:700] Step 108900 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.4919204,
'Loss/localization_loss': 0.055985406,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.6411604,
'learning_rate': 0.0}
I1204 14:57:40.598582 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.4919204,
'Loss/localization_loss': 0.055985406,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.6411604,
'learning_rate': 0.0}
INFO:tensorflow:Step 109000 per-step time 0.215s
I1204 14:58:02.071096 139938174281600 model_lib_v2.py:700] Step 109000 per-step time 0.215s
INFO:tensorflow:{'Loss/classification_loss': 1.1755503,
'Loss/localization_loss': 0.035088114,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.303893,
'learning_rate': 0.0}
I1204 14:58:02.071408 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.1755503,
'Loss/localization_loss': 0.035088114,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.303893,
'learning_rate': 0.0}
INFO:tensorflow:Step 109100 per-step time 0.214s
I1204 14:58:23.478094 139938174281600 model_lib_v2.py:700] Step 109100 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.1589922,
'Loss/localization_loss': 0.04078653,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.2930332,
'learning_rate': 0.0}
I1204 14:58:23.481529 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.1589922,
'Loss/localization_loss': 0.04078653,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.2930332,
'learning_rate': 0.0}
INFO:tensorflow:Step 109200 per-step time 0.214s
I1204 14:58:44.866077 139938174281600 model_lib_v2.py:700] Step 109200 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.4213196,
'Loss/localization_loss': 0.048305247,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.5628794,
'learning_rate': 0.0}
I1204 14:58:44.866415 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.4213196,
'Loss/localization_loss': 0.048305247,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.5628794,
'learning_rate': 0.0}
INFO:tensorflow:Step 109300 per-step time 0.214s
I1204 14:59:06.291092 139938174281600 model_lib_v2.py:700] Step 109300 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.2287275,
'Loss/localization_loss': 0.02341018,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3453922,
'learning_rate': 0.0}
I1204 14:59:06.291488 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2287275,
'Loss/localization_loss': 0.02341018,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3453922,
'learning_rate': 0.0}
INFO:tensorflow:Step 109400 per-step time 0.215s
I1204 14:59:27.726088 139938174281600 model_lib_v2.py:700] Step 109400 per-step time 0.215s
INFO:tensorflow:{'Loss/classification_loss': 1.3725358,
'Loss/localization_loss': 0.0332555,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4990458,
'learning_rate': 0.0}
I1204 14:59:27.726423 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.3725358,
'Loss/localization_loss': 0.0332555,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4990458,
'learning_rate': 0.0}
INFO:tensorflow:Step 109500 per-step time 0.213s
I1204 14:59:49.047520 139938174281600 model_lib_v2.py:700] Step 109500 per-step time 0.213s
INFO:tensorflow:{'Loss/classification_loss': 1.2465881,
'Loss/localization_loss': 0.04740174,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3872445,
'learning_rate': 0.0}
I1204 14:59:49.047842 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2465881,
'Loss/localization_loss': 0.04740174,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3872445,
'learning_rate': 0.0}
INFO:tensorflow:Step 109600 per-step time 0.215s
I1204 15:00:10.530876 139938174281600 model_lib_v2.py:700] Step 109600 per-step time 0.215s
INFO:tensorflow:{'Loss/classification_loss': 1.2599517,
'Loss/localization_loss': 0.02817433,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3813806,
'learning_rate': 0.0}
I1204 15:00:10.531286 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2599517,
'Loss/localization_loss': 0.02817433,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3813806,
'learning_rate': 0.0}
INFO:tensorflow:Step 109700 per-step time 0.214s
I1204 15:00:31.896082 139938174281600 model_lib_v2.py:700] Step 109700 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.071568,
'Loss/localization_loss': 0.039527114,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.2043496,
'learning_rate': 0.0}
I1204 15:00:31.896506 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.071568,
'Loss/localization_loss': 0.039527114,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.2043496,
'learning_rate': 0.0}
INFO:tensorflow:Step 109800 per-step time 0.215s
I1204 15:00:53.409223 139938174281600 model_lib_v2.py:700] Step 109800 per-step time 0.215s
INFO:tensorflow:{'Loss/classification_loss': 1.4521763,
'Loss/localization_loss': 0.05329094,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.5987219,
'learning_rate': 0.0}
I1204 15:00:53.409549 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.4521763,
'Loss/localization_loss': 0.05329094,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.5987219,
'learning_rate': 0.0}
INFO:tensorflow:Step 109900 per-step time 0.214s
I1204 15:01:14.793803 139938174281600 model_lib_v2.py:700] Step 109900 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.2719346,
'Loss/localization_loss': 0.021257736,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.386447,
'learning_rate': 0.0}
I1204 15:01:14.794284 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2719346,
'Loss/localization_loss': 0.021257736,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.386447,
'learning_rate': 0.0}
INFO:tensorflow:Step 110000 per-step time 0.212s
I1204 15:01:35.987892 139938174281600 model_lib_v2.py:700] Step 110000 per-step time 0.212s
INFO:tensorflow:{'Loss/classification_loss': 1.396622,
'Loss/localization_loss': 0.036625456,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.526502,
'learning_rate': 0.0}
I1204 15:01:35.992058 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.396622,
'Loss/localization_loss': 0.036625456,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.526502,
'learning_rate': 0.0}
INFO:tensorflow:Step 110100 per-step time 0.223s
I1204 15:01:58.291977 139938174281600 model_lib_v2.py:700] Step 110100 per-step time 0.223s
INFO:tensorflow:{'Loss/classification_loss': 1.3960383,
'Loss/localization_loss': 0.04161985,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.5309128,
'learning_rate': 0.0}
I1204 15:01:58.292303 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.3960383,
'Loss/localization_loss': 0.04161985,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.5309128,
'learning_rate': 0.0}
INFO:tensorflow:Step 110200 per-step time 0.215s
I1204 15:02:19.787345 139938174281600 model_lib_v2.py:700] Step 110200 per-step time 0.215s
INFO:tensorflow:{'Loss/classification_loss': 1.2395624,
'Loss/localization_loss': 0.036918618,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3697356,
'learning_rate': 0.0}
I1204 15:02:19.787669 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2395624,
'Loss/localization_loss': 0.036918618,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3697356,
'learning_rate': 0.0}
INFO:tensorflow:Step 110300 per-step time 0.215s
I1204 15:02:41.269167 139938174281600 model_lib_v2.py:700] Step 110300 per-step time 0.215s
INFO:tensorflow:{'Loss/classification_loss': 1.7126566,
'Loss/localization_loss': 0.050162137,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.8560734,
'learning_rate': 0.0}
I1204 15:02:41.269560 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.7126566,
'Loss/localization_loss': 0.050162137,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.8560734,
'learning_rate': 0.0}
INFO:tensorflow:Step 110400 per-step time 0.215s
I1204 15:03:02.704881 139938174281600 model_lib_v2.py:700] Step 110400 per-step time 0.215s
INFO:tensorflow:{'Loss/classification_loss': 1.3197644,
'Loss/localization_loss': 0.0314007,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4444196,
'learning_rate': 0.0}
I1204 15:03:02.705195 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.3197644,
'Loss/localization_loss': 0.0314007,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4444196,
'learning_rate': 0.0}
INFO:tensorflow:Step 110500 per-step time 0.213s
I1204 15:03:24.053203 139938174281600 model_lib_v2.py:700] Step 110500 per-step time 0.213s
INFO:tensorflow:{'Loss/classification_loss': 1.3246999,
'Loss/localization_loss': 0.015229701,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4331841,
'learning_rate': 0.0}
I1204 15:03:24.053569 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.3246999,
'Loss/localization_loss': 0.015229701,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4331841,
'learning_rate': 0.0}
INFO:tensorflow:Step 110600 per-step time 0.212s
I1204 15:03:45.229536 139938174281600 model_lib_v2.py:700] Step 110600 per-step time 0.212s
INFO:tensorflow:{'Loss/classification_loss': 1.3302801,
'Loss/localization_loss': 0.03555424,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4590889,
'learning_rate': 0.0}
I1204 15:03:45.229870 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.3302801,
'Loss/localization_loss': 0.03555424,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4590889,
'learning_rate': 0.0}
INFO:tensorflow:Step 110700 per-step time 0.214s
I1204 15:04:06.612156 139938174281600 model_lib_v2.py:700] Step 110700 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.3051858,
'Loss/localization_loss': 0.04911012,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4475505,
'learning_rate': 0.0}
I1204 15:04:06.612469 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.3051858,
'Loss/localization_loss': 0.04911012,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4475505,
'learning_rate': 0.0}
INFO:tensorflow:Step 110800 per-step time 0.214s
I1204 15:04:28.042703 139938174281600 model_lib_v2.py:700] Step 110800 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.254208,
'Loss/localization_loss': 0.04326541,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.390728,
'learning_rate': 0.0}
I1204 15:04:28.043004 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.254208,
'Loss/localization_loss': 0.04326541,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.390728,
'learning_rate': 0.0}
INFO:tensorflow:Step 110900 per-step time 0.216s
I1204 15:04:49.627169 139938174281600 model_lib_v2.py:700] Step 110900 per-step time 0.216s
INFO:tensorflow:{'Loss/classification_loss': 1.3754599,
'Loss/localization_loss': 0.025688946,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4944034,
'learning_rate': 0.0}
I1204 15:04:49.627584 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.3754599,
'Loss/localization_loss': 0.025688946,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4944034,
'learning_rate': 0.0}
INFO:tensorflow:Step 111000 per-step time 0.214s
I1204 15:05:11.003666 139938174281600 model_lib_v2.py:700] Step 111000 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.3162671,
'Loss/localization_loss': 0.03878757,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4483093,
'learning_rate': 0.0}
I1204 15:05:11.004044 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.3162671,
'Loss/localization_loss': 0.03878757,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4483093,
'learning_rate': 0.0}
INFO:tensorflow:Step 111100 per-step time 0.215s
I1204 15:05:32.542562 139938174281600 model_lib_v2.py:700] Step 111100 per-step time 0.215s
INFO:tensorflow:{'Loss/classification_loss': 1.316066,
'Loss/localization_loss': 0.026316082,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4356366,
'learning_rate': 0.0}
I1204 15:05:32.542883 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.316066,
'Loss/localization_loss': 0.026316082,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4356366,
'learning_rate': 0.0}
INFO:tensorflow:Step 111200 per-step time 0.213s
I1204 15:05:53.891443 139938174281600 model_lib_v2.py:700] Step 111200 per-step time 0.213s
INFO:tensorflow:{'Loss/classification_loss': 1.4907001,
'Loss/localization_loss': 0.02728118,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.6112359,
'learning_rate': 0.0}
I1204 15:05:53.891746 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.4907001,
'Loss/localization_loss': 0.02728118,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.6112359,
'learning_rate': 0.0}
INFO:tensorflow:Step 111300 per-step time 0.215s
I1204 15:06:15.402276 139938174281600 model_lib_v2.py:700] Step 111300 per-step time 0.215s
INFO:tensorflow:{'Loss/classification_loss': 1.2285664,
'Loss/localization_loss': 0.030372806,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3521938,
'learning_rate': 0.0}
I1204 15:06:15.402585 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2285664,
'Loss/localization_loss': 0.030372806,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3521938,
'learning_rate': 0.0}
INFO:tensorflow:Step 111400 per-step time 0.213s
I1204 15:06:36.737513 139938174281600 model_lib_v2.py:700] Step 111400 per-step time 0.213s
INFO:tensorflow:{'Loss/classification_loss': 1.3483888,
'Loss/localization_loss': 0.023103088,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4647465,
'learning_rate': 0.0}
I1204 15:06:36.738080 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.3483888,
'Loss/localization_loss': 0.023103088,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4647465,
'learning_rate': 0.0}
INFO:tensorflow:Step 111500 per-step time 0.215s
I1204 15:06:58.193332 139938174281600 model_lib_v2.py:700] Step 111500 per-step time 0.215s
INFO:tensorflow:{'Loss/classification_loss': 1.343998,
'Loss/localization_loss': 0.0688261,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.5060786,
'learning_rate': 0.0}
I1204 15:06:58.193698 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.343998,
'Loss/localization_loss': 0.0688261,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.5060786,
'learning_rate': 0.0}
INFO:tensorflow:Step 111600 per-step time 0.215s
I1204 15:07:19.717318 139938174281600 model_lib_v2.py:700] Step 111600 per-step time 0.215s
INFO:tensorflow:{'Loss/classification_loss': 1.2927737,
'Loss/localization_loss': 0.029404521,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4154328,
'learning_rate': 0.0}
I1204 15:07:19.717716 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2927737,
'Loss/localization_loss': 0.029404521,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4154328,
'learning_rate': 0.0}
INFO:tensorflow:Step 111700 per-step time 0.213s
I1204 15:07:41.042551 139938174281600 model_lib_v2.py:700] Step 111700 per-step time 0.213s
INFO:tensorflow:{'Loss/classification_loss': 1.0888331,
'Loss/localization_loss': 0.025918173,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.2080058,
'learning_rate': 0.0}
I1204 15:07:41.042927 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.0888331,
'Loss/localization_loss': 0.025918173,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.2080058,
'learning_rate': 0.0}
INFO:tensorflow:Step 111800 per-step time 0.214s
I1204 15:08:02.486458 139938174281600 model_lib_v2.py:700] Step 111800 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.2906191,
'Loss/localization_loss': 0.044259228,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4281329,
'learning_rate': 0.0}
I1204 15:08:02.486772 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2906191,
'Loss/localization_loss': 0.044259228,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4281329,
'learning_rate': 0.0}
INFO:tensorflow:Step 111900 per-step time 0.215s
I1204 15:08:23.960870 139938174281600 model_lib_v2.py:700] Step 111900 per-step time 0.215s
INFO:tensorflow:{'Loss/classification_loss': 1.2380129,
'Loss/localization_loss': 0.033009607,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3642771,
'learning_rate': 0.0}
I1204 15:08:23.961167 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2380129,
'Loss/localization_loss': 0.033009607,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3642771,
'learning_rate': 0.0}
INFO:tensorflow:Step 112000 per-step time 0.214s
I1204 15:08:45.374058 139938174281600 model_lib_v2.py:700] Step 112000 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.2948354,
'Loss/localization_loss': 0.032335974,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.420426,
'learning_rate': 0.0}
I1204 15:08:45.374369 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2948354,
'Loss/localization_loss': 0.032335974,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.420426,
'learning_rate': 0.0}
INFO:tensorflow:Step 112100 per-step time 0.216s
I1204 15:09:06.950843 139938174281600 model_lib_v2.py:700] Step 112100 per-step time 0.216s
INFO:tensorflow:{'Loss/classification_loss': 1.4952375,
'Loss/localization_loss': 0.035083976,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.623576,
'learning_rate': 0.0}
I1204 15:09:06.951151 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.4952375,
'Loss/localization_loss': 0.035083976,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.623576,
'learning_rate': 0.0}
INFO:tensorflow:Step 112200 per-step time 0.214s
I1204 15:09:28.321178 139938174281600 model_lib_v2.py:700] Step 112200 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.2293761,
'Loss/localization_loss': 0.08103961,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4036703,
'learning_rate': 0.0}
I1204 15:09:28.321515 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2293761,
'Loss/localization_loss': 0.08103961,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4036703,
'learning_rate': 0.0}
INFO:tensorflow:Step 112300 per-step time 0.213s
I1204 15:09:49.664698 139938174281600 model_lib_v2.py:700] Step 112300 per-step time 0.213s
INFO:tensorflow:{'Loss/classification_loss': 1.2930737,
'Loss/localization_loss': 0.024990786,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.411319,
'learning_rate': 0.0}
I1204 15:09:49.665101 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2930737,
'Loss/localization_loss': 0.024990786,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.411319,
'learning_rate': 0.0}
INFO:tensorflow:Step 112400 per-step time 0.213s
I1204 15:10:10.984506 139938174281600 model_lib_v2.py:700] Step 112400 per-step time 0.213s
INFO:tensorflow:{'Loss/classification_loss': 1.4328916,
'Loss/localization_loss': 0.053789906,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.579936,
'learning_rate': 0.0}
I1204 15:10:10.984806 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.4328916,
'Loss/localization_loss': 0.053789906,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.579936,
'learning_rate': 0.0}
INFO:tensorflow:Step 112500 per-step time 0.213s
I1204 15:10:32.256242 139938174281600 model_lib_v2.py:700] Step 112500 per-step time 0.213s
INFO:tensorflow:{'Loss/classification_loss': 1.5626734,
'Loss/localization_loss': 0.039646458,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.6955745,
'learning_rate': 0.0}
I1204 15:10:32.256693 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.5626734,
'Loss/localization_loss': 0.039646458,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.6955745,
'learning_rate': 0.0}
INFO:tensorflow:Step 112600 per-step time 0.214s
I1204 15:10:53.660788 139938174281600 model_lib_v2.py:700] Step 112600 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.4518788,
'Loss/localization_loss': 0.055965804,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.6010991,
'learning_rate': 0.0}
I1204 15:10:53.661122 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.4518788,
'Loss/localization_loss': 0.055965804,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.6010991,
'learning_rate': 0.0}
INFO:tensorflow:Step 112700 per-step time 0.213s
I1204 15:11:14.998695 139938174281600 model_lib_v2.py:700] Step 112700 per-step time 0.213s
INFO:tensorflow:{'Loss/classification_loss': 1.6171048,
'Loss/localization_loss': 0.039689396,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.7500488,
'learning_rate': 0.0}
I1204 15:11:14.999062 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.6171048,
'Loss/localization_loss': 0.039689396,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.7500488,
'learning_rate': 0.0}
INFO:tensorflow:Step 112800 per-step time 0.214s
I1204 15:11:36.406273 139938174281600 model_lib_v2.py:700] Step 112800 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.5826102,
'Loss/localization_loss': 0.052260026,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.7281249,
'learning_rate': 0.0}
I1204 15:11:36.406586 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.5826102,
'Loss/localization_loss': 0.052260026,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.7281249,
'learning_rate': 0.0}
INFO:tensorflow:Step 112900 per-step time 0.212s
I1204 15:11:57.647840 139938174281600 model_lib_v2.py:700] Step 112900 per-step time 0.212s
INFO:tensorflow:{'Loss/classification_loss': 1.3317196,
'Loss/localization_loss': 0.069863535,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4948378,
'learning_rate': 0.0}
I1204 15:11:57.648146 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.3317196,
'Loss/localization_loss': 0.069863535,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4948378,
'learning_rate': 0.0}
INFO:tensorflow:Step 113000 per-step time 0.215s
I1204 15:12:19.173721 139938174281600 model_lib_v2.py:700] Step 113000 per-step time 0.215s
INFO:tensorflow:{'Loss/classification_loss': 1.4758948,
'Loss/localization_loss': 0.039436128,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.6085855,
'learning_rate': 0.0}
I1204 15:12:19.174108 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.4758948,
'Loss/localization_loss': 0.039436128,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.6085855,
'learning_rate': 0.0}
INFO:tensorflow:Step 113100 per-step time 0.212s
I1204 15:12:40.415417 139938174281600 model_lib_v2.py:700] Step 113100 per-step time 0.212s
INFO:tensorflow:{'Loss/classification_loss': 1.1714826,
'Loss/localization_loss': 0.041365985,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3061031,
'learning_rate': 0.0}
I1204 15:12:40.415909 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.1714826,
'Loss/localization_loss': 0.041365985,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3061031,
'learning_rate': 0.0}
INFO:tensorflow:Step 113200 per-step time 0.215s
I1204 15:13:01.908076 139938174281600 model_lib_v2.py:700] Step 113200 per-step time 0.215s
INFO:tensorflow:{'Loss/classification_loss': 1.2158927,
'Loss/localization_loss': 0.060978662,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3701259,
'learning_rate': 0.0}
I1204 15:13:01.908415 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2158927,
'Loss/localization_loss': 0.060978662,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3701259,
'learning_rate': 0.0}
INFO:tensorflow:Step 113300 per-step time 0.214s
I1204 15:13:23.324451 139938174281600 model_lib_v2.py:700] Step 113300 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.4855981,
'Loss/localization_loss': 0.040430207,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.6192828,
'learning_rate': 0.0}
I1204 15:13:23.324816 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.4855981,
'Loss/localization_loss': 0.040430207,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.6192828,
'learning_rate': 0.0}
INFO:tensorflow:Step 113400 per-step time 0.212s
I1204 15:13:44.553193 139938174281600 model_lib_v2.py:700] Step 113400 per-step time 0.212s
INFO:tensorflow:{'Loss/classification_loss': 1.2896837,
'Loss/localization_loss': 0.046972923,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4299111,
'learning_rate': 0.0}
I1204 15:13:44.553495 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2896837,
'Loss/localization_loss': 0.046972923,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4299111,
'learning_rate': 0.0}
INFO:tensorflow:Step 113500 per-step time 0.214s
I1204 15:14:05.991233 139938174281600 model_lib_v2.py:700] Step 113500 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.4859802,
'Loss/localization_loss': 0.022990117,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.6022248,
'learning_rate': 0.0}
I1204 15:14:05.991536 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.4859802,
'Loss/localization_loss': 0.022990117,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.6022248,
'learning_rate': 0.0}
INFO:tensorflow:Step 113600 per-step time 0.213s
I1204 15:14:27.304924 139938174281600 model_lib_v2.py:700] Step 113600 per-step time 0.213s
INFO:tensorflow:{'Loss/classification_loss': 1.3310965,
'Loss/localization_loss': 0.025947938,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.450299,
'learning_rate': 0.0}
I1204 15:14:27.305232 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.3310965,
'Loss/localization_loss': 0.025947938,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.450299,
'learning_rate': 0.0}
INFO:tensorflow:Step 113700 per-step time 0.213s
I1204 15:14:48.627219 139938174281600 model_lib_v2.py:700] Step 113700 per-step time 0.213s
INFO:tensorflow:{'Loss/classification_loss': 1.4922254,
'Loss/localization_loss': 0.057393074,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.642873,
'learning_rate': 0.0}
I1204 15:14:48.627534 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.4922254,
'Loss/localization_loss': 0.057393074,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.642873,
'learning_rate': 0.0}
INFO:tensorflow:Step 113800 per-step time 0.214s
I1204 15:15:10.033505 139938174281600 model_lib_v2.py:700] Step 113800 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.1815022,
'Loss/localization_loss': 0.045327865,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3200847,
'learning_rate': 0.0}
I1204 15:15:10.033844 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.1815022,
'Loss/localization_loss': 0.045327865,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3200847,
'learning_rate': 0.0}
INFO:tensorflow:Step 113900 per-step time 0.215s
I1204 15:15:31.511421 139938174281600 model_lib_v2.py:700] Step 113900 per-step time 0.215s
INFO:tensorflow:{'Loss/classification_loss': 1.4131119,
'Loss/localization_loss': 0.02107702,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.5274435,
'learning_rate': 0.0}
I1204 15:15:31.511739 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.4131119,
'Loss/localization_loss': 0.02107702,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.5274435,
'learning_rate': 0.0}
INFO:tensorflow:Step 114000 per-step time 0.213s
I1204 15:15:52.780577 139938174281600 model_lib_v2.py:700] Step 114000 per-step time 0.213s
INFO:tensorflow:{'Loss/classification_loss': 1.3153017,
'Loss/localization_loss': 0.038621053,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4471773,
'learning_rate': 0.0}
I1204 15:15:52.780989 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.3153017,
'Loss/localization_loss': 0.038621053,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4471773,
'learning_rate': 0.0}
INFO:tensorflow:Step 114100 per-step time 0.215s
I1204 15:16:14.249658 139938174281600 model_lib_v2.py:700] Step 114100 per-step time 0.215s
INFO:tensorflow:{'Loss/classification_loss': 1.4167789,
'Loss/localization_loss': 0.028453806,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.5384873,
'learning_rate': 0.0}
I1204 15:16:14.249984 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.4167789,
'Loss/localization_loss': 0.028453806,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.5384873,
'learning_rate': 0.0}
INFO:tensorflow:Step 114200 per-step time 0.213s
I1204 15:16:35.573145 139938174281600 model_lib_v2.py:700] Step 114200 per-step time 0.213s
INFO:tensorflow:{'Loss/classification_loss': 1.2846612,
'Loss/localization_loss': 0.029408848,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4073246,
'learning_rate': 0.0}
I1204 15:16:35.573637 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2846612,
'Loss/localization_loss': 0.029408848,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4073246,
'learning_rate': 0.0}
INFO:tensorflow:Step 114300 per-step time 0.215s
I1204 15:16:57.035481 139938174281600 model_lib_v2.py:700] Step 114300 per-step time 0.215s
INFO:tensorflow:{'Loss/classification_loss': 1.2183658,
'Loss/localization_loss': 0.0386011,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3502214,
'learning_rate': 0.0}
I1204 15:16:57.035892 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2183658,
'Loss/localization_loss': 0.0386011,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3502214,
'learning_rate': 0.0}
INFO:tensorflow:Step 114400 per-step time 0.215s
I1204 15:17:18.526343 139938174281600 model_lib_v2.py:700] Step 114400 per-step time 0.215s
INFO:tensorflow:{'Loss/classification_loss': 1.5224118,
'Loss/localization_loss': 0.070283614,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.68595,
'learning_rate': 0.0}
I1204 15:17:18.526702 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.5224118,
'Loss/localization_loss': 0.070283614,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.68595,
'learning_rate': 0.0}
INFO:tensorflow:Step 114500 per-step time 0.214s
I1204 15:17:39.950122 139938174281600 model_lib_v2.py:700] Step 114500 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.3353716,
'Loss/localization_loss': 0.021655157,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4502814,
'learning_rate': 0.0}
I1204 15:17:39.950440 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.3353716,
'Loss/localization_loss': 0.021655157,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4502814,
'learning_rate': 0.0}
INFO:tensorflow:Step 114600 per-step time 0.215s
I1204 15:18:01.427638 139938174281600 model_lib_v2.py:700] Step 114600 per-step time 0.215s
INFO:tensorflow:{'Loss/classification_loss': 1.2719456,
'Loss/localization_loss': 0.03199535,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3971955,
'learning_rate': 0.0}
I1204 15:18:01.427968 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2719456,
'Loss/localization_loss': 0.03199535,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3971955,
'learning_rate': 0.0}
INFO:tensorflow:Step 114700 per-step time 0.215s
I1204 15:18:22.959059 139938174281600 model_lib_v2.py:700] Step 114700 per-step time 0.215s
INFO:tensorflow:{'Loss/classification_loss': 1.3196048,
'Loss/localization_loss': 0.033186376,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4460456,
'learning_rate': 0.0}
I1204 15:18:22.959566 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.3196048,
'Loss/localization_loss': 0.033186376,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4460456,
'learning_rate': 0.0}
INFO:tensorflow:Step 114800 per-step time 0.216s
I1204 15:18:44.533213 139938174281600 model_lib_v2.py:700] Step 114800 per-step time 0.216s
INFO:tensorflow:{'Loss/classification_loss': 1.445816,
'Loss/localization_loss': 0.03809498,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.5771656,
'learning_rate': 0.0}
I1204 15:18:44.533637 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.445816,
'Loss/localization_loss': 0.03809498,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.5771656,
'learning_rate': 0.0}
INFO:tensorflow:Step 114900 per-step time 0.215s
I1204 15:19:06.014576 139938174281600 model_lib_v2.py:700] Step 114900 per-step time 0.215s
INFO:tensorflow:{'Loss/classification_loss': 1.5460333,
'Loss/localization_loss': 0.03261318,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.671901,
'learning_rate': 0.0}
I1204 15:19:06.014903 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.5460333,
'Loss/localization_loss': 0.03261318,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.671901,
'learning_rate': 0.0}
INFO:tensorflow:Step 115000 per-step time 0.217s
I1204 15:19:27.732702 139938174281600 model_lib_v2.py:700] Step 115000 per-step time 0.217s
INFO:tensorflow:{'Loss/classification_loss': 1.316343,
'Loss/localization_loss': 0.036024835,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4456223,
'learning_rate': 0.0}
I1204 15:19:27.733063 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.316343,
'Loss/localization_loss': 0.036024835,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4456223,
'learning_rate': 0.0}
INFO:tensorflow:Step 115100 per-step time 0.222s
I1204 15:19:49.923832 139938174281600 model_lib_v2.py:700] Step 115100 per-step time 0.222s
INFO:tensorflow:{'Loss/classification_loss': 1.4916142,
'Loss/localization_loss': 0.035602845,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.6204716,
'learning_rate': 0.0}
I1204 15:19:49.924141 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.4916142,
'Loss/localization_loss': 0.035602845,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.6204716,
'learning_rate': 0.0}
INFO:tensorflow:Step 115200 per-step time 0.215s
I1204 15:20:11.469064 139938174281600 model_lib_v2.py:700] Step 115200 per-step time 0.215s
INFO:tensorflow:{'Loss/classification_loss': 1.2825326,
'Loss/localization_loss': 0.058974817,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.434762,
'learning_rate': 0.0}
I1204 15:20:11.469454 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2825326,
'Loss/localization_loss': 0.058974817,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.434762,
'learning_rate': 0.0}
INFO:tensorflow:Step 115300 per-step time 0.214s
I1204 15:20:32.854828 139938174281600 model_lib_v2.py:700] Step 115300 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.5236068,
'Loss/localization_loss': 0.09521361,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.712075,
'learning_rate': 0.0}
I1204 15:20:32.855136 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.5236068,
'Loss/localization_loss': 0.09521361,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.712075,
'learning_rate': 0.0}
INFO:tensorflow:Step 115400 per-step time 0.215s
I1204 15:20:54.368425 139938174281600 model_lib_v2.py:700] Step 115400 per-step time 0.215s
INFO:tensorflow:{'Loss/classification_loss': 1.2966573,
'Loss/localization_loss': 0.033483133,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.423395,
'learning_rate': 0.0}
I1204 15:20:54.368749 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2966573,
'Loss/localization_loss': 0.033483133,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.423395,
'learning_rate': 0.0}
INFO:tensorflow:Step 115500 per-step time 0.213s
I1204 15:21:15.706928 139938174281600 model_lib_v2.py:700] Step 115500 per-step time 0.213s
INFO:tensorflow:{'Loss/classification_loss': 1.325123,
'Loss/localization_loss': 0.027294995,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4456725,
'learning_rate': 0.0}
I1204 15:21:15.707271 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.325123,
'Loss/localization_loss': 0.027294995,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4456725,
'learning_rate': 0.0}
INFO:tensorflow:Step 115600 per-step time 0.214s
I1204 15:21:37.165329 139938174281600 model_lib_v2.py:700] Step 115600 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.1957188,
'Loss/localization_loss': 0.025016371,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3139898,
'learning_rate': 0.0}
I1204 15:21:37.165844 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.1957188,
'Loss/localization_loss': 0.025016371,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3139898,
'learning_rate': 0.0}
INFO:tensorflow:Step 115700 per-step time 0.213s
I1204 15:21:58.515719 139938174281600 model_lib_v2.py:700] Step 115700 per-step time 0.213s
INFO:tensorflow:{'Loss/classification_loss': 1.5182736,
'Loss/localization_loss': 0.034190714,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.6457188,
'learning_rate': 0.0}
I1204 15:21:58.516104 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.5182736,
'Loss/localization_loss': 0.034190714,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.6457188,
'learning_rate': 0.0}
INFO:tensorflow:Step 115800 per-step time 0.213s
I1204 15:22:19.793243 139938174281600 model_lib_v2.py:700] Step 115800 per-step time 0.213s
INFO:tensorflow:{'Loss/classification_loss': 1.3060386,
'Loss/localization_loss': 0.025327474,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4246206,
'learning_rate': 0.0}
I1204 15:22:19.793822 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.3060386,
'Loss/localization_loss': 0.025327474,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4246206,
'learning_rate': 0.0}
INFO:tensorflow:Step 115900 per-step time 0.214s
I1204 15:22:41.147370 139938174281600 model_lib_v2.py:700] Step 115900 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.2427964,
'Loss/localization_loss': 0.031367928,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3674189,
'learning_rate': 0.0}
I1204 15:22:41.147703 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2427964,
'Loss/localization_loss': 0.031367928,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3674189,
'learning_rate': 0.0}
INFO:tensorflow:Step 116000 per-step time 0.213s
I1204 15:23:02.456927 139938174281600 model_lib_v2.py:700] Step 116000 per-step time 0.213s
INFO:tensorflow:{'Loss/classification_loss': 1.2939794,
'Loss/localization_loss': 0.033769418,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4210033,
'learning_rate': 0.0}
I1204 15:23:02.457267 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2939794,
'Loss/localization_loss': 0.033769418,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4210033,
'learning_rate': 0.0}
INFO:tensorflow:Step 116100 per-step time 0.215s
I1204 15:23:24.007277 139938174281600 model_lib_v2.py:700] Step 116100 per-step time 0.215s
INFO:tensorflow:{'Loss/classification_loss': 1.2893604,
'Loss/localization_loss': 0.027047107,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4096621,
'learning_rate': 0.0}
I1204 15:23:24.007690 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2893604,
'Loss/localization_loss': 0.027047107,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4096621,
'learning_rate': 0.0}
INFO:tensorflow:Step 116200 per-step time 0.214s
I1204 15:23:45.354793 139938174281600 model_lib_v2.py:700] Step 116200 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.371416,
'Loss/localization_loss': 0.03377839,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.498449,
'learning_rate': 0.0}
I1204 15:23:45.355096 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.371416,
'Loss/localization_loss': 0.03377839,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.498449,
'learning_rate': 0.0}
INFO:tensorflow:Step 116300 per-step time 0.213s
I1204 15:24:06.617328 139938174281600 model_lib_v2.py:700] Step 116300 per-step time 0.213s
INFO:tensorflow:{'Loss/classification_loss': 1.4462639,
'Loss/localization_loss': 0.05045655,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.589975,
'learning_rate': 0.0}
I1204 15:24:06.617636 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.4462639,
'Loss/localization_loss': 0.05045655,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.589975,
'learning_rate': 0.0}
INFO:tensorflow:Step 116400 per-step time 0.216s
I1204 15:24:28.249363 139938174281600 model_lib_v2.py:700] Step 116400 per-step time 0.216s
INFO:tensorflow:{'Loss/classification_loss': 1.5035926,
'Loss/localization_loss': 0.042713832,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.639561,
'learning_rate': 0.0}
I1204 15:24:28.249755 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.5035926,
'Loss/localization_loss': 0.042713832,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.639561,
'learning_rate': 0.0}
INFO:tensorflow:Step 116500 per-step time 0.214s
I1204 15:24:49.632502 139938174281600 model_lib_v2.py:700] Step 116500 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.2986711,
'Loss/localization_loss': 0.027165834,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4190916,
'learning_rate': 0.0}
I1204 15:24:49.632829 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2986711,
'Loss/localization_loss': 0.027165834,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4190916,
'learning_rate': 0.0}
INFO:tensorflow:Step 116600 per-step time 0.213s
I1204 15:25:10.943295 139938174281600 model_lib_v2.py:700] Step 116600 per-step time 0.213s
INFO:tensorflow:{'Loss/classification_loss': 1.2212572,
'Loss/localization_loss': 0.044080168,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3585919,
'learning_rate': 0.0}
I1204 15:25:10.943653 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2212572,
'Loss/localization_loss': 0.044080168,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3585919,
'learning_rate': 0.0}
INFO:tensorflow:Step 116700 per-step time 0.216s
I1204 15:25:32.516824 139938174281600 model_lib_v2.py:700] Step 116700 per-step time 0.216s
INFO:tensorflow:{'Loss/classification_loss': 1.2039645,
'Loss/localization_loss': 0.030323215,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3275423,
'learning_rate': 0.0}
I1204 15:25:32.517156 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2039645,
'Loss/localization_loss': 0.030323215,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3275423,
'learning_rate': 0.0}
INFO:tensorflow:Step 116800 per-step time 0.215s
I1204 15:25:54.040275 139938174281600 model_lib_v2.py:700] Step 116800 per-step time 0.215s
INFO:tensorflow:{'Loss/classification_loss': 1.2551543,
'Loss/localization_loss': 0.021364275,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3697731,
'learning_rate': 0.0}
I1204 15:25:54.040631 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2551543,
'Loss/localization_loss': 0.021364275,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3697731,
'learning_rate': 0.0}
INFO:tensorflow:Step 116900 per-step time 0.215s
I1204 15:26:15.573411 139938174281600 model_lib_v2.py:700] Step 116900 per-step time 0.215s
INFO:tensorflow:{'Loss/classification_loss': 1.2502835,
'Loss/localization_loss': 0.019494371,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3630325,
'learning_rate': 0.0}
I1204 15:26:15.573722 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2502835,
'Loss/localization_loss': 0.019494371,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3630325,
'learning_rate': 0.0}
INFO:tensorflow:Step 117000 per-step time 0.214s
I1204 15:26:37.037013 139938174281600 model_lib_v2.py:700] Step 117000 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.3432738,
'Loss/localization_loss': 0.0186156,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4551439,
'learning_rate': 0.0}
I1204 15:26:37.037380 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.3432738,
'Loss/localization_loss': 0.0186156,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4551439,
'learning_rate': 0.0}
INFO:tensorflow:Step 117100 per-step time 0.216s
I1204 15:26:58.608305 139938174281600 model_lib_v2.py:700] Step 117100 per-step time 0.216s
INFO:tensorflow:{'Loss/classification_loss': 1.2742236,
'Loss/localization_loss': 0.023522282,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3910004,
'learning_rate': 0.0}
I1204 15:26:58.608702 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2742236,
'Loss/localization_loss': 0.023522282,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3910004,
'learning_rate': 0.0}
INFO:tensorflow:Step 117200 per-step time 0.213s
I1204 15:27:19.872708 139938174281600 model_lib_v2.py:700] Step 117200 per-step time 0.213s
INFO:tensorflow:{'Loss/classification_loss': 1.258212,
'Loss/localization_loss': 0.032114733,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3835813,
'learning_rate': 0.0}
I1204 15:27:19.873032 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.258212,
'Loss/localization_loss': 0.032114733,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3835813,
'learning_rate': 0.0}
INFO:tensorflow:Step 117300 per-step time 0.215s
I1204 15:27:41.363372 139938174281600 model_lib_v2.py:700] Step 117300 per-step time 0.215s
INFO:tensorflow:{'Loss/classification_loss': 1.4281855,
'Loss/localization_loss': 0.077887364,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.5993274,
'learning_rate': 0.0}
I1204 15:27:41.363686 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.4281855,
'Loss/localization_loss': 0.077887364,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.5993274,
'learning_rate': 0.0}
INFO:tensorflow:Step 117400 per-step time 0.214s
I1204 15:28:02.741048 139938174281600 model_lib_v2.py:700] Step 117400 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.2183272,
'Loss/localization_loss': 0.029181296,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.340763,
'learning_rate': 0.0}
I1204 15:28:02.741375 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2183272,
'Loss/localization_loss': 0.029181296,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.340763,
'learning_rate': 0.0}
INFO:tensorflow:Step 117500 per-step time 0.216s
I1204 15:28:24.339256 139938174281600 model_lib_v2.py:700] Step 117500 per-step time 0.216s
INFO:tensorflow:{'Loss/classification_loss': 1.1478554,
'Loss/localization_loss': 0.038079873,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.2791898,
'learning_rate': 0.0}
I1204 15:28:24.339569 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.1478554,
'Loss/localization_loss': 0.038079873,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.2791898,
'learning_rate': 0.0}
INFO:tensorflow:Step 117600 per-step time 0.214s
I1204 15:28:45.706542 139938174281600 model_lib_v2.py:700] Step 117600 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.3023543,
'Loss/localization_loss': 0.03904733,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4346563,
'learning_rate': 0.0}
I1204 15:28:45.706960 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.3023543,
'Loss/localization_loss': 0.03904733,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4346563,
'learning_rate': 0.0}
INFO:tensorflow:Step 117700 per-step time 0.214s
I1204 15:29:07.078598 139938174281600 model_lib_v2.py:700] Step 117700 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.3040917,
'Loss/localization_loss': 0.019948129,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4172944,
'learning_rate': 0.0}
I1204 15:29:07.078926 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.3040917,
'Loss/localization_loss': 0.019948129,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4172944,
'learning_rate': 0.0}
INFO:tensorflow:Step 117800 per-step time 0.214s
I1204 15:29:28.520517 139938174281600 model_lib_v2.py:700] Step 117800 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.2781485,
'Loss/localization_loss': 0.03382158,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4052247,
'learning_rate': 0.0}
I1204 15:29:28.520881 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2781485,
'Loss/localization_loss': 0.03382158,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4052247,
'learning_rate': 0.0}
INFO:tensorflow:Step 117900 per-step time 0.214s
I1204 15:29:49.943953 139938174281600 model_lib_v2.py:700] Step 117900 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.2312467,
'Loss/localization_loss': 0.035203937,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3597052,
'learning_rate': 0.0}
I1204 15:29:49.944253 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2312467,
'Loss/localization_loss': 0.035203937,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3597052,
'learning_rate': 0.0}
INFO:tensorflow:Step 118000 per-step time 0.214s
I1204 15:30:11.308088 139938174281600 model_lib_v2.py:700] Step 118000 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.5687659,
'Loss/localization_loss': 0.024794418,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.6868149,
'learning_rate': 0.0}
I1204 15:30:11.308395 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.5687659,
'Loss/localization_loss': 0.024794418,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.6868149,
'learning_rate': 0.0}
INFO:tensorflow:Step 118100 per-step time 0.216s
I1204 15:30:32.958284 139938174281600 model_lib_v2.py:700] Step 118100 per-step time 0.216s
INFO:tensorflow:{'Loss/classification_loss': 1.5951314,
'Loss/localization_loss': 0.06472923,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.7531152,
'learning_rate': 0.0}
I1204 15:30:32.958593 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.5951314,
'Loss/localization_loss': 0.06472923,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.7531152,
'learning_rate': 0.0}
INFO:tensorflow:Step 118200 per-step time 0.215s
I1204 15:30:54.434571 139938174281600 model_lib_v2.py:700] Step 118200 per-step time 0.215s
INFO:tensorflow:{'Loss/classification_loss': 1.4001328,
'Loss/localization_loss': 0.041863568,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.5352509,
'learning_rate': 0.0}
I1204 15:30:54.434890 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.4001328,
'Loss/localization_loss': 0.041863568,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.5352509,
'learning_rate': 0.0}
INFO:tensorflow:Step 118300 per-step time 0.213s
I1204 15:31:15.756197 139938174281600 model_lib_v2.py:700] Step 118300 per-step time 0.213s
INFO:tensorflow:{'Loss/classification_loss': 1.2876985,
'Loss/localization_loss': 0.022213621,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4031667,
'learning_rate': 0.0}
I1204 15:31:15.756563 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2876985,
'Loss/localization_loss': 0.022213621,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4031667,
'learning_rate': 0.0}
INFO:tensorflow:Step 118400 per-step time 0.213s
I1204 15:31:37.086783 139938174281600 model_lib_v2.py:700] Step 118400 per-step time 0.213s
INFO:tensorflow:{'Loss/classification_loss': 1.2687309,
'Loss/localization_loss': 0.03627358,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.398259,
'learning_rate': 0.0}
I1204 15:31:37.087174 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2687309,
'Loss/localization_loss': 0.03627358,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.398259,
'learning_rate': 0.0}
INFO:tensorflow:Step 118500 per-step time 0.214s
I1204 15:31:58.468480 139938174281600 model_lib_v2.py:700] Step 118500 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.4610959,
'Loss/localization_loss': 0.028217243,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.5825677,
'learning_rate': 0.0}
I1204 15:31:58.468847 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.4610959,
'Loss/localization_loss': 0.028217243,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.5825677,
'learning_rate': 0.0}
INFO:tensorflow:Step 118600 per-step time 0.214s
I1204 15:32:19.916973 139938174281600 model_lib_v2.py:700] Step 118600 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.4365407,
'Loss/localization_loss': 0.025927437,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.5557227,
'learning_rate': 0.0}
I1204 15:32:19.917324 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.4365407,
'Loss/localization_loss': 0.025927437,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.5557227,
'learning_rate': 0.0}
INFO:tensorflow:Step 118700 per-step time 0.214s
I1204 15:32:41.320871 139938174281600 model_lib_v2.py:700] Step 118700 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.3078719,
'Loss/localization_loss': 0.019918483,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.421045,
'learning_rate': 0.0}
I1204 15:32:41.321197 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.3078719,
'Loss/localization_loss': 0.019918483,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.421045,
'learning_rate': 0.0}
INFO:tensorflow:Step 118800 per-step time 0.212s
I1204 15:33:02.549566 139938174281600 model_lib_v2.py:700] Step 118800 per-step time 0.212s
INFO:tensorflow:{'Loss/classification_loss': 1.6100698,
'Loss/localization_loss': 0.030764693,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.734089,
'learning_rate': 0.0}
I1204 15:33:02.549876 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.6100698,
'Loss/localization_loss': 0.030764693,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.734089,
'learning_rate': 0.0}
INFO:tensorflow:Step 118900 per-step time 0.213s
I1204 15:33:23.839085 139938174281600 model_lib_v2.py:700] Step 118900 per-step time 0.213s
INFO:tensorflow:{'Loss/classification_loss': 1.2144849,
'Loss/localization_loss': 0.017479,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3252184,
'learning_rate': 0.0}
I1204 15:33:23.839426 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2144849,
'Loss/localization_loss': 0.017479,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3252184,
'learning_rate': 0.0}
INFO:tensorflow:Step 119000 per-step time 0.214s
I1204 15:33:45.185995 139938174281600 model_lib_v2.py:700] Step 119000 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.5099704,
'Loss/localization_loss': 0.057355307,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.6605803,
'learning_rate': 0.0}
I1204 15:33:45.186291 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.5099704,
'Loss/localization_loss': 0.057355307,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.6605803,
'learning_rate': 0.0}
INFO:tensorflow:Step 119100 per-step time 0.212s
I1204 15:34:06.427536 139938174281600 model_lib_v2.py:700] Step 119100 per-step time 0.212s
INFO:tensorflow:{'Loss/classification_loss': 1.3702925,
'Loss/localization_loss': 0.022335047,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4858822,
'learning_rate': 0.0}
I1204 15:34:06.427848 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.3702925,
'Loss/localization_loss': 0.022335047,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4858822,
'learning_rate': 0.0}
INFO:tensorflow:Step 119200 per-step time 0.214s
I1204 15:34:27.841855 139938174281600 model_lib_v2.py:700] Step 119200 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.4866716,
'Loss/localization_loss': 0.10399894,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.683925,
'learning_rate': 0.0}
I1204 15:34:27.842161 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.4866716,
'Loss/localization_loss': 0.10399894,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.683925,
'learning_rate': 0.0}
INFO:tensorflow:Step 119300 per-step time 0.212s
I1204 15:34:49.031055 139938174281600 model_lib_v2.py:700] Step 119300 per-step time 0.212s
INFO:tensorflow:{'Loss/classification_loss': 1.443192,
'Loss/localization_loss': 0.067289144,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.6037357,
'learning_rate': 0.0}
I1204 15:34:49.031432 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.443192,
'Loss/localization_loss': 0.067289144,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.6037357,
'learning_rate': 0.0}
INFO:tensorflow:Step 119400 per-step time 0.214s
I1204 15:35:10.422670 139938174281600 model_lib_v2.py:700] Step 119400 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.341591,
'Loss/localization_loss': 0.028479727,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4633253,
'learning_rate': 0.0}
I1204 15:35:10.423161 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.341591,
'Loss/localization_loss': 0.028479727,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4633253,
'learning_rate': 0.0}
INFO:tensorflow:Step 119500 per-step time 0.212s
I1204 15:35:31.602039 139938174281600 model_lib_v2.py:700] Step 119500 per-step time 0.212s
INFO:tensorflow:{'Loss/classification_loss': 1.2459978,
'Loss/localization_loss': 0.03866013,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3779125,
'learning_rate': 0.0}
I1204 15:35:31.602354 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2459978,
'Loss/localization_loss': 0.03866013,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3779125,
'learning_rate': 0.0}
INFO:tensorflow:Step 119600 per-step time 0.214s
I1204 15:35:53.003458 139938174281600 model_lib_v2.py:700] Step 119600 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.2857573,
'Loss/localization_loss': 0.021971973,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4009838,
'learning_rate': 0.0}
I1204 15:35:53.003770 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.2857573,
'Loss/localization_loss': 0.021971973,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4009838,
'learning_rate': 0.0}
INFO:tensorflow:Step 119700 per-step time 0.214s
I1204 15:36:14.378826 139938174281600 model_lib_v2.py:700] Step 119700 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.3841279,
'Loss/localization_loss': 0.03345917,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.5108416,
'learning_rate': 0.0}
I1204 15:36:14.379133 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.3841279,
'Loss/localization_loss': 0.03345917,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.5108416,
'learning_rate': 0.0}
INFO:tensorflow:Step 119800 per-step time 0.214s
I1204 15:36:35.808504 139938174281600 model_lib_v2.py:700] Step 119800 per-step time 0.214s
INFO:tensorflow:{'Loss/classification_loss': 1.6009403,
'Loss/localization_loss': 0.024300946,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.7184958,
'learning_rate': 0.0}
I1204 15:36:35.808810 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.6009403,
'Loss/localization_loss': 0.024300946,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.7184958,
'learning_rate': 0.0}
INFO:tensorflow:Step 119900 per-step time 0.213s
I1204 15:36:57.093958 139938174281600 model_lib_v2.py:700] Step 119900 per-step time 0.213s
INFO:tensorflow:{'Loss/classification_loss': 1.1699353,
'Loss/localization_loss': 0.037791427,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3009813,
'learning_rate': 0.0}
I1204 15:36:57.094290 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.1699353,
'Loss/localization_loss': 0.037791427,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.3009813,
'learning_rate': 0.0}
INFO:tensorflow:Step 120000 per-step time 0.216s
I1204 15:37:18.696363 139938174281600 model_lib_v2.py:700] Step 120000 per-step time 0.216s
INFO:tensorflow:{'Loss/classification_loss': 1.3845613,
'Loss/localization_loss': 0.019776994,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4975928,
'learning_rate': 0.0}
I1204 15:37:18.696712 139938174281600 model_lib_v2.py:701] {'Loss/classification_loss': 1.3845613,
'Loss/localization_loss': 0.019776994,
'Loss/regularization_loss': 0.093254596,
'Loss/total_loss': 1.4975928,
'learning_rate': 0.0}
#start Evaluation
!python model_main_tf2.py --model_dir=training-tf2/ --pipeline_config_path={config_file} --checkpoint_dir=training-tf2/ --alsologtostderr
WARNING:tensorflow:Forced number of epochs for all eval validations to be 1.
W1204 15:52:21.369666 140211212756864 model_lib_v2.py:1082] Forced number of epochs for all eval validations to be 1.
INFO:tensorflow:Maybe overwriting sample_1_of_n_eval_examples: None
I1204 15:52:21.369937 140211212756864 config_util.py:552] Maybe overwriting sample_1_of_n_eval_examples: None
INFO:tensorflow:Maybe overwriting use_bfloat16: False
I1204 15:52:21.370029 140211212756864 config_util.py:552] Maybe overwriting use_bfloat16: False
INFO:tensorflow:Maybe overwriting eval_num_epochs: 1
I1204 15:52:21.370115 140211212756864 config_util.py:552] Maybe overwriting eval_num_epochs: 1
WARNING:tensorflow:Expected number of evaluation epochs is 1, but instead encountered `eval_on_train_input_config.num_epochs` = 0. Overwriting `num_epochs` to 1.
W1204 15:52:21.370238 140211212756864 model_lib_v2.py:1103] Expected number of evaluation epochs is 1, but instead encountered `eval_on_train_input_config.num_epochs` = 0. Overwriting `num_epochs` to 1.
2021-12-04 15:52:22.088196: W tensorflow/core/common_runtime/gpu/gpu_bfc_allocator.cc:39] Overriding allow_growth setting because the TF_FORCE_GPU_ALLOW_GROWTH environment variable is set. Original config value was 0.
INFO:tensorflow:Reading unweighted datasets: ['test.tfrecord']
I1204 15:52:22.170909 140211212756864 dataset_builder.py:163] Reading unweighted datasets: ['test.tfrecord']
INFO:tensorflow:Reading record datasets for input file: ['test.tfrecord']
I1204 15:52:22.171267 140211212756864 dataset_builder.py:80] Reading record datasets for input file: ['test.tfrecord']
INFO:tensorflow:Number of filenames to read: 1
I1204 15:52:22.171420 140211212756864 dataset_builder.py:81] Number of filenames to read: 1
WARNING:tensorflow:num_readers has been reduced to 1 to match input file shards.
W1204 15:52:22.171496 140211212756864 dataset_builder.py:88] num_readers has been reduced to 1 to match input file shards.
WARNING:tensorflow:From /usr/local/lib/python3.7/dist-packages/object_detection/builders/dataset_builder.py:105: parallel_interleave (from tensorflow.python.data.experimental.ops.interleave_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Use `tf.data.Dataset.interleave(map_func, cycle_length, block_length, num_parallel_calls=tf.data.AUTOTUNE)` instead. If sloppy execution is desired, use `tf.data.Options.deterministic`.
W1204 15:52:22.173485 140211212756864 deprecation.py:347] From /usr/local/lib/python3.7/dist-packages/object_detection/builders/dataset_builder.py:105: parallel_interleave (from tensorflow.python.data.experimental.ops.interleave_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Use `tf.data.Dataset.interleave(map_func, cycle_length, block_length, num_parallel_calls=tf.data.AUTOTUNE)` instead. If sloppy execution is desired, use `tf.data.Options.deterministic`.
WARNING:tensorflow:From /usr/local/lib/python3.7/dist-packages/object_detection/builders/dataset_builder.py:237: DatasetV1.map_with_legacy_function (from tensorflow.python.data.ops.dataset_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Use `tf.data.Dataset.map()
W1204 15:52:22.193526 140211212756864 deprecation.py:347] From /usr/local/lib/python3.7/dist-packages/object_detection/builders/dataset_builder.py:237: DatasetV1.map_with_legacy_function (from tensorflow.python.data.ops.dataset_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Use `tf.data.Dataset.map()
WARNING:tensorflow:From /usr/local/lib/python3.7/dist-packages/tensorflow/python/util/dispatch.py:1096: sparse_to_dense (from tensorflow.python.ops.sparse_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Create a `tf.sparse.SparseTensor` and use `tf.sparse.to_dense` instead.
W1204 15:52:26.199317 140211212756864 deprecation.py:347] From /usr/local/lib/python3.7/dist-packages/tensorflow/python/util/dispatch.py:1096: sparse_to_dense (from tensorflow.python.ops.sparse_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Create a `tf.sparse.SparseTensor` and use `tf.sparse.to_dense` instead.
WARNING:tensorflow:From /usr/local/lib/python3.7/dist-packages/tensorflow/python/autograph/impl/api.py:465: to_float (from tensorflow.python.ops.math_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Use `tf.cast` instead.
W1204 15:52:27.330248 140211212756864 deprecation.py:347] From /usr/local/lib/python3.7/dist-packages/tensorflow/python/autograph/impl/api.py:465: to_float (from tensorflow.python.ops.math_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Use `tf.cast` instead.
INFO:tensorflow:Waiting for new checkpoint at training-tf2/
I1204 15:52:29.831245 140211212756864 checkpoint_utils.py:140] Waiting for new checkpoint at training-tf2/
INFO:tensorflow:Found new checkpoint at training-tf2/ckpt-41
I1204 15:52:29.833957 140211212756864 checkpoint_utils.py:149] Found new checkpoint at training-tf2/ckpt-41
/usr/local/lib/python3.7/dist-packages/keras/backend.py:414: UserWarning: `tf.keras.backend.set_learning_phase` is deprecated and will be removed after 2020-10-11. To update it, simply pass a True/False value to the `training` argument of the `__call__` method of your layer or model.
warnings.warn('`tf.keras.backend.set_learning_phase` is deprecated and '
INFO:tensorflow:depth of additional conv before box predictor: 0
I1204 15:52:38.186617 140211212756864 convolutional_keras_box_predictor.py:154] depth of additional conv before box predictor: 0
INFO:tensorflow:depth of additional conv before box predictor: 0
I1204 15:52:38.187026 140211212756864 convolutional_keras_box_predictor.py:154] depth of additional conv before box predictor: 0
INFO:tensorflow:depth of additional conv before box predictor: 0
I1204 15:52:38.187262 140211212756864 convolutional_keras_box_predictor.py:154] depth of additional conv before box predictor: 0
INFO:tensorflow:depth of additional conv before box predictor: 0
I1204 15:52:38.187474 140211212756864 convolutional_keras_box_predictor.py:154] depth of additional conv before box predictor: 0
INFO:tensorflow:depth of additional conv before box predictor: 0
I1204 15:52:38.187683 140211212756864 convolutional_keras_box_predictor.py:154] depth of additional conv before box predictor: 0
INFO:tensorflow:depth of additional conv before box predictor: 0
I1204 15:52:38.187886 140211212756864 convolutional_keras_box_predictor.py:154] depth of additional conv before box predictor: 0
WARNING:tensorflow:From /usr/local/lib/python3.7/dist-packages/object_detection/eval_util.py:929: to_int64 (from tensorflow.python.ops.math_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Use `tf.cast` instead.
W1204 15:53:39.294592 140211212756864 deprecation.py:347] From /usr/local/lib/python3.7/dist-packages/object_detection/eval_util.py:929: to_int64 (from tensorflow.python.ops.math_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Use `tf.cast` instead.
INFO:tensorflow:Finished eval step 0
I1204 15:53:39.307581 140211212756864 model_lib_v2.py:958] Finished eval step 0
WARNING:tensorflow:From /usr/local/lib/python3.7/dist-packages/tensorflow/python/autograph/impl/api.py:465: py_func (from tensorflow.python.ops.script_ops) is deprecated and will be removed in a future version.
Instructions for updating:
tf.py_func is deprecated in TF V2. Instead, there are two
options available in V2.
- tf.py_function takes a python function which manipulates tf eager
tensors instead of numpy arrays. It's easy to convert a tf eager tensor to
an ndarray (just call tensor.numpy()) but having access to eager tensors
means `tf.py_function`s can use accelerators such as GPUs as well as
being differentiable using a gradient tape.
- tf.numpy_function maintains the semantics of the deprecated tf.py_func
(it is not differentiable, and manipulates numpy arrays). It drops the
stateful argument making all functions stateful.
W1204 15:53:39.436696 140211212756864 deprecation.py:347] From /usr/local/lib/python3.7/dist-packages/tensorflow/python/autograph/impl/api.py:465: py_func (from tensorflow.python.ops.script_ops) is deprecated and will be removed in a future version.
Instructions for updating:
tf.py_func is deprecated in TF V2. Instead, there are two
options available in V2.
- tf.py_function takes a python function which manipulates tf eager
tensors instead of numpy arrays. It's easy to convert a tf eager tensor to
an ndarray (just call tensor.numpy()) but having access to eager tensors
means `tf.py_function`s can use accelerators such as GPUs as well as
being differentiable using a gradient tape.
- tf.numpy_function maintains the semantics of the deprecated tf.py_func
(it is not differentiable, and manipulates numpy arrays). It drops the
stateful argument making all functions stateful.
INFO:tensorflow:Finished eval step 100
I1204 15:53:52.687602 140211212756864 model_lib_v2.py:958] Finished eval step 100
INFO:tensorflow:Finished eval step 200
I1204 15:54:05.064710 140211212756864 model_lib_v2.py:958] Finished eval step 200
INFO:tensorflow:Finished eval step 300
I1204 15:54:17.757498 140211212756864 model_lib_v2.py:958] Finished eval step 300
INFO:tensorflow:Finished eval step 400
I1204 15:54:30.474085 140211212756864 model_lib_v2.py:958] Finished eval step 400
INFO:tensorflow:Finished eval step 500
I1204 15:54:42.890962 140211212756864 model_lib_v2.py:958] Finished eval step 500
INFO:tensorflow:Finished eval step 600
I1204 15:54:55.268795 140211212756864 model_lib_v2.py:958] Finished eval step 600
INFO:tensorflow:Finished eval step 700
I1204 15:55:07.553341 140211212756864 model_lib_v2.py:958] Finished eval step 700
INFO:tensorflow:Finished eval step 800
I1204 15:55:19.926578 140211212756864 model_lib_v2.py:958] Finished eval step 800
INFO:tensorflow:Finished eval step 900
I1204 15:55:32.296838 140211212756864 model_lib_v2.py:958] Finished eval step 900
INFO:tensorflow:Finished eval step 1000
I1204 15:55:45.197590 140211212756864 model_lib_v2.py:958] Finished eval step 1000
INFO:tensorflow:Finished eval step 1100
I1204 15:55:57.554469 140211212756864 model_lib_v2.py:958] Finished eval step 1100
INFO:tensorflow:Finished eval step 1200
I1204 15:56:10.161034 140211212756864 model_lib_v2.py:958] Finished eval step 1200
INFO:tensorflow:Finished eval step 1300
I1204 15:56:22.790836 140211212756864 model_lib_v2.py:958] Finished eval step 1300
INFO:tensorflow:Finished eval step 1400
I1204 15:56:35.531949 140211212756864 model_lib_v2.py:958] Finished eval step 1400
INFO:tensorflow:Finished eval step 1500
I1204 15:56:47.884803 140211212756864 model_lib_v2.py:958] Finished eval step 1500
INFO:tensorflow:Finished eval step 1600
I1204 15:57:00.229097 140211212756864 model_lib_v2.py:958] Finished eval step 1600
INFO:tensorflow:Finished eval step 1700
I1204 15:57:12.682393 140211212756864 model_lib_v2.py:958] Finished eval step 1700
INFO:tensorflow:Finished eval step 1800
I1204 15:57:25.096318 140211212756864 model_lib_v2.py:958] Finished eval step 1800
INFO:tensorflow:Finished eval step 1900
I1204 15:57:37.474179 140211212756864 model_lib_v2.py:958] Finished eval step 1900
INFO:tensorflow:Finished eval step 2000
I1204 15:57:50.350427 140211212756864 model_lib_v2.py:958] Finished eval step 2000
INFO:tensorflow:Finished eval step 2100
I1204 15:58:02.452212 140211212756864 model_lib_v2.py:958] Finished eval step 2100
INFO:tensorflow:Finished eval step 2200
I1204 15:58:14.915456 140211212756864 model_lib_v2.py:958] Finished eval step 2200
INFO:tensorflow:Finished eval step 2300
I1204 15:58:27.440150 140211212756864 model_lib_v2.py:958] Finished eval step 2300
INFO:tensorflow:Finished eval step 2400
I1204 15:58:40.329536 140211212756864 model_lib_v2.py:958] Finished eval step 2400
INFO:tensorflow:Finished eval step 2500
I1204 15:58:52.683546 140211212756864 model_lib_v2.py:958] Finished eval step 2500
INFO:tensorflow:Finished eval step 2600
I1204 15:59:04.910573 140211212756864 model_lib_v2.py:958] Finished eval step 2600
INFO:tensorflow:Finished eval step 2700
I1204 15:59:17.328747 140211212756864 model_lib_v2.py:958] Finished eval step 2700
INFO:tensorflow:Finished eval step 2800
I1204 15:59:29.706819 140211212756864 model_lib_v2.py:958] Finished eval step 2800
INFO:tensorflow:Finished eval step 2900
I1204 15:59:42.642223 140211212756864 model_lib_v2.py:958] Finished eval step 2900
2021-12-04 15:59:44.407019: W tensorflow/core/framework/cpu_allocator_impl.cc:82] Allocation of 505440000 exceeds 10% of free system memory.
INFO:tensorflow:Finished eval step 3000
I1204 15:59:56.089357 140211212756864 model_lib_v2.py:958] Finished eval step 3000
INFO:tensorflow:Finished eval step 3100
I1204 16:00:08.605728 140211212756864 model_lib_v2.py:958] Finished eval step 3100
INFO:tensorflow:Finished eval step 3200
I1204 16:00:21.251051 140211212756864 model_lib_v2.py:958] Finished eval step 3200
INFO:tensorflow:Finished eval step 3300
I1204 16:00:33.482930 140211212756864 model_lib_v2.py:958] Finished eval step 3300
INFO:tensorflow:Finished eval step 3400
I1204 16:00:45.663735 140211212756864 model_lib_v2.py:958] Finished eval step 3400
INFO:tensorflow:Finished eval step 3500
I1204 16:00:58.075779 140211212756864 model_lib_v2.py:958] Finished eval step 3500
INFO:tensorflow:Finished eval step 3600
I1204 16:01:10.503641 140211212756864 model_lib_v2.py:958] Finished eval step 3600
INFO:tensorflow:Finished eval step 3700
I1204 16:01:22.967912 140211212756864 model_lib_v2.py:958] Finished eval step 3700
INFO:tensorflow:Finished eval step 3800
I1204 16:01:35.966323 140211212756864 model_lib_v2.py:958] Finished eval step 3800
INFO:tensorflow:Finished eval step 3900
I1204 16:01:48.444273 140211212756864 model_lib_v2.py:958] Finished eval step 3900
INFO:tensorflow:Finished eval step 4000
I1204 16:02:01.518917 140211212756864 model_lib_v2.py:958] Finished eval step 4000
INFO:tensorflow:Finished eval step 4100
I1204 16:02:13.923725 140211212756864 model_lib_v2.py:958] Finished eval step 4100
INFO:tensorflow:Finished eval step 4200
I1204 16:02:26.508834 140211212756864 model_lib_v2.py:958] Finished eval step 4200
INFO:tensorflow:Finished eval step 4300
I1204 16:02:38.993724 140211212756864 model_lib_v2.py:958] Finished eval step 4300
INFO:tensorflow:Finished eval step 4400
I1204 16:02:51.578877 140211212756864 model_lib_v2.py:958] Finished eval step 4400
INFO:tensorflow:Finished eval step 4500
I1204 16:03:04.072129 140211212756864 model_lib_v2.py:958] Finished eval step 4500
INFO:tensorflow:Finished eval step 4600
I1204 16:03:16.687940 140211212756864 model_lib_v2.py:958] Finished eval step 4600
INFO:tensorflow:Finished eval step 4700
I1204 16:03:29.710184 140211212756864 model_lib_v2.py:958] Finished eval step 4700
INFO:tensorflow:Finished eval step 4800
I1204 16:03:42.424415 140211212756864 model_lib_v2.py:958] Finished eval step 4800
INFO:tensorflow:Finished eval step 4900
I1204 16:03:55.210155 140211212756864 model_lib_v2.py:958] Finished eval step 4900
INFO:tensorflow:Finished eval step 5000
I1204 16:04:07.952487 140211212756864 model_lib_v2.py:958] Finished eval step 5000
INFO:tensorflow:Finished eval step 5100
I1204 16:04:20.374350 140211212756864 model_lib_v2.py:958] Finished eval step 5100
INFO:tensorflow:Finished eval step 5200
I1204 16:04:33.665971 140211212756864 model_lib_v2.py:958] Finished eval step 5200
INFO:tensorflow:Finished eval step 5300
I1204 16:04:46.606626 140211212756864 model_lib_v2.py:958] Finished eval step 5300
INFO:tensorflow:Finished eval step 5400
I1204 16:04:59.292260 140211212756864 model_lib_v2.py:958] Finished eval step 5400
INFO:tensorflow:Finished eval step 5500
I1204 16:05:12.182142 140211212756864 model_lib_v2.py:958] Finished eval step 5500
INFO:tensorflow:Finished eval step 5600
I1204 16:05:24.582669 140211212756864 model_lib_v2.py:958] Finished eval step 5600
INFO:tensorflow:Finished eval step 5700
I1204 16:05:37.072838 140211212756864 model_lib_v2.py:958] Finished eval step 5700
INFO:tensorflow:Finished eval step 5800
I1204 16:05:49.646942 140211212756864 model_lib_v2.py:958] Finished eval step 5800
INFO:tensorflow:Finished eval step 5900
I1204 16:06:02.129777 140211212756864 model_lib_v2.py:958] Finished eval step 5900
INFO:tensorflow:Finished eval step 6000
I1204 16:06:15.618249 140211212756864 model_lib_v2.py:958] Finished eval step 6000
INFO:tensorflow:Finished eval step 6100
I1204 16:06:28.605110 140211212756864 model_lib_v2.py:958] Finished eval step 6100
INFO:tensorflow:Finished eval step 6200
I1204 16:06:41.173080 140211212756864 model_lib_v2.py:958] Finished eval step 6200
INFO:tensorflow:Finished eval step 6300
I1204 16:06:53.710504 140211212756864 model_lib_v2.py:958] Finished eval step 6300
INFO:tensorflow:Finished eval step 6400
I1204 16:07:06.247881 140211212756864 model_lib_v2.py:958] Finished eval step 6400
INFO:tensorflow:Finished eval step 6500
I1204 16:07:18.677361 140211212756864 model_lib_v2.py:958] Finished eval step 6500
INFO:tensorflow:Finished eval step 6600
I1204 16:07:31.174273 140211212756864 model_lib_v2.py:958] Finished eval step 6600
INFO:tensorflow:Finished eval step 6700
I1204 16:07:44.131132 140211212756864 model_lib_v2.py:958] Finished eval step 6700
INFO:tensorflow:Finished eval step 6800
I1204 16:07:57.195510 140211212756864 model_lib_v2.py:958] Finished eval step 6800
INFO:tensorflow:Finished eval step 6900
I1204 16:08:10.256560 140211212756864 model_lib_v2.py:958] Finished eval step 6900
INFO:tensorflow:Finished eval step 7000
I1204 16:08:22.891161 140211212756864 model_lib_v2.py:958] Finished eval step 7000
INFO:tensorflow:Finished eval step 7100
I1204 16:08:35.522842 140211212756864 model_lib_v2.py:958] Finished eval step 7100
INFO:tensorflow:Finished eval step 7200
I1204 16:08:47.829771 140211212756864 model_lib_v2.py:958] Finished eval step 7200
INFO:tensorflow:Finished eval step 7300
I1204 16:09:00.232670 140211212756864 model_lib_v2.py:958] Finished eval step 7300
INFO:tensorflow:Finished eval step 7400
I1204 16:09:12.843595 140211212756864 model_lib_v2.py:958] Finished eval step 7400
INFO:tensorflow:Finished eval step 7500
I1204 16:09:25.642698 140211212756864 model_lib_v2.py:958] Finished eval step 7500
INFO:tensorflow:Finished eval step 7600
I1204 16:09:38.852896 140211212756864 model_lib_v2.py:958] Finished eval step 7600
INFO:tensorflow:Finished eval step 7700
I1204 16:09:51.325222 140211212756864 model_lib_v2.py:958] Finished eval step 7700
INFO:tensorflow:Finished eval step 7800
I1204 16:10:03.955113 140211212756864 model_lib_v2.py:958] Finished eval step 7800
INFO:tensorflow:Finished eval step 7900
I1204 16:10:16.598119 140211212756864 model_lib_v2.py:958] Finished eval step 7900
INFO:tensorflow:Finished eval step 8000
I1204 16:10:29.303331 140211212756864 model_lib_v2.py:958] Finished eval step 8000
INFO:tensorflow:Performing evaluation on 8041 images.
I1204 16:10:34.343081 140211212756864 coco_evaluation.py:293] Performing evaluation on 8041 images.
creating index...
index created!
INFO:tensorflow:Loading and preparing annotation results...
I1204 16:10:34.361203 140211212756864 coco_tools.py:116] Loading and preparing annotation results...
INFO:tensorflow:DONE (t=0.41s)
I1204 16:10:34.775213 140211212756864 coco_tools.py:138] DONE (t=0.41s)
creating index...
index created!
Running per image evaluation...
Evaluate annotation type *bbox*
DONE (t=170.50s).
Accumulating evaluation results...
DONE (t=51.43s).
Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.029
Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.034
Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.034
Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = -1.000
Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.216
Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.029
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.805
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.806
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.806
Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = -1.000
Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.715
Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.806
INFO:tensorflow:Eval metrics at step 120000
I1204 16:14:33.438374 140211212756864 model_lib_v2.py:1007] Eval metrics at step 120000
INFO:tensorflow: + DetectionBoxes_Precision/mAP: 0.029201
I1204 16:14:33.531853 140211212756864 model_lib_v2.py:1010] + DetectionBoxes_Precision/mAP: 0.029201
INFO:tensorflow: + DetectionBoxes_Precision/mAP@.50IOU: 0.034413
I1204 16:14:33.533765 140211212756864 model_lib_v2.py:1010] + DetectionBoxes_Precision/mAP@.50IOU: 0.034413
INFO:tensorflow: + DetectionBoxes_Precision/mAP@.75IOU: 0.033533
I1204 16:14:33.535370 140211212756864 model_lib_v2.py:1010] + DetectionBoxes_Precision/mAP@.75IOU: 0.033533
INFO:tensorflow: + DetectionBoxes_Precision/mAP (small): -1.000000
I1204 16:14:33.536774 140211212756864 model_lib_v2.py:1010] + DetectionBoxes_Precision/mAP (small): -1.000000
INFO:tensorflow: + DetectionBoxes_Precision/mAP (medium): 0.215615
I1204 16:14:33.538126 140211212756864 model_lib_v2.py:1010] + DetectionBoxes_Precision/mAP (medium): 0.215615
INFO:tensorflow: + DetectionBoxes_Precision/mAP (large): 0.029161
I1204 16:14:33.539379 140211212756864 model_lib_v2.py:1010] + DetectionBoxes_Precision/mAP (large): 0.029161
INFO:tensorflow: + DetectionBoxes_Recall/AR@1: 0.804706
I1204 16:14:33.540607 140211212756864 model_lib_v2.py:1010] + DetectionBoxes_Recall/AR@1: 0.804706
INFO:tensorflow: + DetectionBoxes_Recall/AR@10: 0.805637
I1204 16:14:33.541834 140211212756864 model_lib_v2.py:1010] + DetectionBoxes_Recall/AR@10: 0.805637
INFO:tensorflow: + DetectionBoxes_Recall/AR@100: 0.805637
I1204 16:14:33.542861 140211212756864 model_lib_v2.py:1010] + DetectionBoxes_Recall/AR@100: 0.805637
INFO:tensorflow: + DetectionBoxes_Recall/AR@100 (small): -1.000000
I1204 16:14:33.543973 140211212756864 model_lib_v2.py:1010] + DetectionBoxes_Recall/AR@100 (small): -1.000000
INFO:tensorflow: + DetectionBoxes_Recall/AR@100 (medium): 0.714550
I1204 16:14:33.545181 140211212756864 model_lib_v2.py:1010] + DetectionBoxes_Recall/AR@100 (medium): 0.714550
INFO:tensorflow: + DetectionBoxes_Recall/AR@100 (large): 0.806189
I1204 16:14:33.546549 140211212756864 model_lib_v2.py:1010] + DetectionBoxes_Recall/AR@100 (large): 0.806189
INFO:tensorflow: + Loss/localization_loss: 0.029753
I1204 16:14:33.547514 140211212756864 model_lib_v2.py:1010] + Loss/localization_loss: 0.029753
INFO:tensorflow: + Loss/classification_loss: 1.348960
I1204 16:14:33.548592 140211212756864 model_lib_v2.py:1010] + Loss/classification_loss: 1.348960
INFO:tensorflow: + Loss/regularization_loss: 0.093255
I1204 16:14:33.549597 140211212756864 model_lib_v2.py:1010] + Loss/regularization_loss: 0.093255
INFO:tensorflow: + Loss/total_loss: 1.471968
I1204 16:14:33.550619 140211212756864 model_lib_v2.py:1010] + Loss/total_loss: 1.471968
INFO:tensorflow:Waiting for new checkpoint at training-tf2/
I1204 16:14:34.695194 140211212756864 checkpoint_utils.py:140] Waiting for new checkpoint at training-tf2/
Traceback (most recent call last):
File "/usr/local/lib/python3.7/dist-packages/absl/app.py", line 303, in run
_run_main(main, args)
File "/usr/local/lib/python3.7/dist-packages/absl/app.py", line 251, in _run_main
sys.exit(main(argv))
File "model_main_tf2.py", line 90, in main
wait_interval=300, timeout=FLAGS.eval_timeout)
File "/usr/local/lib/python3.7/dist-packages/object_detection/model_lib_v2.py", line 1129, in eval_continuously
checkpoint_dir, timeout=timeout, min_interval_secs=wait_interval):
File "/usr/local/lib/python3.7/dist-packages/tensorflow/python/training/checkpoint_utils.py", line 199, in checkpoints_iterator
checkpoint_dir, checkpoint_path, timeout=timeout)
File "/usr/local/lib/python3.7/dist-packages/tensorflow/python/training/checkpoint_utils.py", line 147, in wait_for_new_checkpoint
time.sleep(seconds_to_sleep)
KeyboardInterrupt
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "model_main_tf2.py", line 115, in <module>
tf.compat.v1.app.run()
File "/usr/local/lib/python3.7/dist-packages/tensorflow/python/platform/app.py", line 40, in run
_run(main=main, argv=argv, flags_parser=_parse_flags_tolerate_undef)
File "/usr/local/lib/python3.7/dist-packages/absl/app.py", line 311, in run
if isinstance(exc, SystemExit) and not exc.code:
KeyboardInterrupt
#Copy exporter file from models/research/object_detection to current directory
!cp /content/drive/MyDrive/AIML/CapStone/models/research/object_detection/exporter_main_v2.py .
#Provide input name, config file location, training folder
!python exporter_main_v2.py --input_type "image_tensor" --pipeline_config_path {config_file} --trained_checkpoint_dir training-tf2/ --output_directory detection_model
2021-12-04 16:34:09.192557: W tensorflow/core/common_runtime/gpu/gpu_bfc_allocator.cc:39] Overriding allow_growth setting because the TF_FORCE_GPU_ALLOW_GROWTH environment variable is set. Original config value was 0. WARNING:tensorflow:From /usr/local/lib/python3.7/dist-packages/tensorflow/python/autograph/impl/api.py:464: calling map_fn_v2 (from tensorflow.python.ops.map_fn) with back_prop=False is deprecated and will be removed in a future version. Instructions for updating: back_prop=False is deprecated. Consider using tf.stop_gradient instead. Instead of: results = tf.map_fn(fn, elems, back_prop=False) Use: results = tf.nest.map_structure(tf.stop_gradient, tf.map_fn(fn, elems)) W1204 16:34:09.504186 139852151719808 deprecation.py:619] From /usr/local/lib/python3.7/dist-packages/tensorflow/python/autograph/impl/api.py:464: calling map_fn_v2 (from tensorflow.python.ops.map_fn) with back_prop=False is deprecated and will be removed in a future version. Instructions for updating: back_prop=False is deprecated. Consider using tf.stop_gradient instead. Instead of: results = tf.map_fn(fn, elems, back_prop=False) Use: results = tf.nest.map_structure(tf.stop_gradient, tf.map_fn(fn, elems)) INFO:tensorflow:depth of additional conv before box predictor: 0 I1204 16:34:15.008610 139852151719808 convolutional_keras_box_predictor.py:154] depth of additional conv before box predictor: 0 INFO:tensorflow:depth of additional conv before box predictor: 0 I1204 16:34:15.009085 139852151719808 convolutional_keras_box_predictor.py:154] depth of additional conv before box predictor: 0 INFO:tensorflow:depth of additional conv before box predictor: 0 I1204 16:34:15.009325 139852151719808 convolutional_keras_box_predictor.py:154] depth of additional conv before box predictor: 0 INFO:tensorflow:depth of additional conv before box predictor: 0 I1204 16:34:15.009535 139852151719808 convolutional_keras_box_predictor.py:154] depth of additional conv before box predictor: 0 INFO:tensorflow:depth of additional conv before box predictor: 0 I1204 16:34:15.009752 139852151719808 convolutional_keras_box_predictor.py:154] depth of additional conv before box predictor: 0 INFO:tensorflow:depth of additional conv before box predictor: 0 I1204 16:34:15.009968 139852151719808 convolutional_keras_box_predictor.py:154] depth of additional conv before box predictor: 0 WARNING:tensorflow:Skipping full serialization of Keras layer <object_detection.meta_architectures.ssd_meta_arch.SSDMetaArch object at 0x7f31400bcdd0>, because it is not built. W1204 16:35:10.642514 139852151719808 save_impl.py:72] Skipping full serialization of Keras layer <object_detection.meta_architectures.ssd_meta_arch.SSDMetaArch object at 0x7f31400bcdd0>, because it is not built. 2021-12-04 16:35:20.725268: W tensorflow/python/util/util.cc:368] Sets are not currently considered sequences, but this may change in the future, so consider avoiding using them. W1204 16:35:58.410600 139852151719808 save.py:268] Found untraced functions such as BoxPredictor_layer_call_fn, BoxPredictor_layer_call_and_return_conditional_losses, BoxPredictor_layer_call_fn, BoxPredictor_layer_call_and_return_conditional_losses, BoxPredictor_layer_call_and_return_conditional_losses while saving (showing 5 of 125). These functions will not be directly callable after loading. INFO:tensorflow:Assets written to: detection_model/saved_model/assets I1204 16:36:06.846116 139852151719808 builder_impl.py:784] Assets written to: detection_model/saved_model/assets INFO:tensorflow:Writing pipeline config file to detection_model/pipeline.config I1204 16:36:07.892127 139852151719808 config_util.py:254] Writing pipeline config file to detection_model/pipeline.config
#Check if model is saved in current directory
!ls -l detection_model/saved_model
total 14159 drwx------ 2 root root 4096 Dec 3 19:12 assets -rw------- 1 root root 14490075 Dec 4 16:36 saved_model.pb drwx------ 2 root root 4096 Dec 4 16:36 variables
!mkdir SSD_CAR_TF2
!cp -r detection_model '/content/drive/MyDrive/AIML/CapStone/SSD_CAR_TF2'
import pickle
file_path = '/content/drive/MyDrive/AIML/CapStone/SSD_CAR_TF2/label_class_dict.pkl'
with open(file_path,'wb') as file:
pickle.dump(label_class_dict, file)
import tensorflow as tf
saved_model_path = 'detection_model/saved_model'
model = tf.saved_model.load(saved_model_path)
#Function to get predictions from a Detection model
def detector_prediction(image_file, confidence_threshold=0.5):
#Load image
img = tf.keras.preprocessing.image.load_img(image_file)
#Convert to numpy array
img_array = tf.keras.preprocessing.image.img_to_array(img).astype('uint8')
#Make it a batch of one example
img_array = tf.expand_dims(img_array, axis=0)
#Prediction
output = model(img_array) #get list of tensors discussed above as output
#print(output)
detection_scores = output['detection_scores'].numpy()[0] #get detection scores
detection_classes = output['detection_classes'].numpy()[0]
detection_boxes = output['detection_boxes'].numpy()[0]
#print(detection_scores)
#Select predictions for which probability is higher than confidence_threshold
selected_predictions = detection_scores >= confidence_threshold
#print(selected_predictions)
selected_prediction_scores = detection_scores[selected_predictions]
selected_prediction_classes = detection_classes[selected_predictions]
selected_prediction_boxes = detection_boxes[selected_predictions]
#De-normalize box co-ordinates (multiply x-coordinates by image width and y-coords by image height)
img_w, img_h = img.size
for i in range(selected_prediction_boxes.shape[0]):
selected_prediction_boxes[i,0] *= img_h #ymin * img_w
selected_prediction_boxes[i,1] *= img_w #xmin * img_h
selected_prediction_boxes[i,2] *= img_h #ymax * img_w
selected_prediction_boxes[i,3] *= img_w #xmax * img_h
#Make all co-ordinates as integer
selected_prediction_boxes= selected_prediction_boxes.astype(int)
#Convert class indexes to actual class labels
predicted_classes = []
for i in range(selected_prediction_classes.shape[0]):
predicted_classes.append(label_class_dict[int(selected_prediction_classes[i])])
#Number of predictions
selected_num_predictions = selected_prediction_boxes.shape[0]
return {'Total Predictions': selected_num_predictions,
'Scores': selected_prediction_scores,
'Classes': predicted_classes,
'Box coordinates': selected_prediction_boxes}
Visualize model output
def visualize_output(image_file, confidence_threshold=0.5):
#Call model prediction function above
output = detector_prediction(image_file, confidence_threshold=confidence_threshold)
#Read image
img = cv2.imread(image_file)
#Draw rectangle for predicted boxes, also add predicted classes
for i in range(output['Box coordinates'].shape[0]):
box = output['Box coordinates'][i]
#Draw rectangle - (ymin, xmin, ymax, xmax)
img = cv2.rectangle(img, (box[1], box[0]), (box[3], box[2]), (0,255,0), 2)
#Add Label - Class name and confidence level
label = output['Classes'][i] + ': ' + str(round(output['Scores'][i],2))
img = cv2.putText(img, label, (box[1], box[0]-10), cv2.FONT_HERSHEY_TRIPLEX, 0.8, (255,255,255), 1,cv2.LINE_AA)
#Conver BGR image to RGB to use with Matplotlib
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
#Display image
plt.figure(figsize=(10,6))
plt.imshow(img)
plt.show()
visualize_output('/content/drive/MyDrive/AIML/CapStone/Car Images/Test Images/AM General Hummer SUV 2000/00457.jpg',0.5)
visualize_output('/content/drive/MyDrive/AIML/CapStone/Car Images/Test Images/HUMMER H3T Crew Cab 2010/00414.jpg',0.5)
visualize_output('/content/drive/MyDrive/AIML/CapStone/Car Images/Test Images/Aston Martin V8 Vantage Convertible 2012/00239.jpg',0.5)
visualize_output('/content/drive/MyDrive/AIML/CapStone/Car Images/Test Images/Tesla Model S Sedan 2012/07174.jpg',0.37)